Don't give him his own way.
If he's naughty, put him in a naughty corner/naughty step until he calms down and says sorry. If he continues the behaviour then put him in his bedroom for 5-10 mins. Make sure there's nothing for him to play with, and as you take him up you explain what he did wrong. When you bring him back out, explain again why he went to his room, then allow him to say sorry and kiss/cuddle you.
He'll realise that naughty behaviour is not tolerated. There's no point in threatening and not following through. It's difficult, and for a couple of days he'll probably end up in the naughty corner/bedroom quite a lot. However it will be worth it when his behaviour improves.
Our daughter is 2 yrs 7 months old, and she's had tantrums where she's bright red, kicking her bedroom door and screaming at the top of her voice like I was murdering her. It doesn't work, and she usually comes out in a better mood afterwards. Most of the time she just needs a quick stint in the naughty corner (about once a week) as a reminder not to be naughty as she knows if she goes too far she'll be sent to her room.