I took a parenting class a few years ago. It basically was about how to discipline your child effectively without being physical. They actually DID agree that spanking is indeed a punishment, but it is the worst of all punishments.
For instance,say your child throws a tantrum in the store... that's when you take them out to the car, and basically let them throw their tantrum... however, instead of saying "Your NEVER going back to the store with me", say "We'll sit out here until your done crying. Maybe, just maybe if your good for the rest of the time in the store, we can get you _________". Setting up reward systems is a fantastic way to get your child to behave. Make a chart with each day of the week. For each day they are good, they get a star... also throw in little "chores" your kiddo can do... for instance drying the dishes or folding some laundry (easy things for a 2 year old) or picking up their room. For each chore they complete, they get a star.
Now here is the fun part. Make yourself up a prize box. Put all sorts of little things in it... candy, little pencils, small toys. After each week, if they get X amount of stars (I always did 5 stars a week for Johnny), they get a little prize. Then put on the chart if s/he is good for TWO weeks (I determined this with 10 stars) they get to do something special... you take them out to get a big toy, take them on a fun activity, etc... you catch my drift?
Spanking... now this is where alot of people get scared. Truth is, there is no reason to be... all you have to do is adjust your own discipline system a little bit. Here we only spank for the harshest of offences, like putting themselves in danger, hurting themselves or another... this is the only time our kiddos will get spanked, and they know this. Therefore they are generally good to each other. Any other time they either get A) Grounded for a few hours/1 day, or B) Time out, in the naughty chair, with a timer. If they cry at ALL, the timer is reset.
I hope this helps. Maybe look into going to a parenting class yourself? I highly recommend it.