I found that consistency was the most important thing with my children. You and your husband need to be clear that you are both reacting in the same way to the behaviour, and persist with one method, rather than trying different methods if one doesn't work quickly enough. I would suggest a naughty spot, or naughty chair, for same number of minutes as her age. Persist in putting her back there until she does the time. Explain to her once before she is placed on the naughty chair, what she has done wrong. After that don't say anything, just keep putting her back there. Once she's done the time get her to say sorry, have a hug, and move on. It's not easy, but you have to stick at it and not get side-tracked and both do the same thing and make it clear that you are the ones in charge and that this is what is going to happen every time she is badly behaved.
For good behaviour you could have a reward chart with points or stars for good things that she has done, and for listening, and some small prize once she reaches a target, such as a day out somewhere nice.
This worked for me. Good luck.