I don't think it's as black and white as "he's an abusive arsehole, get out now," tbh. And as much as I realize that is going to make me unpopular, ...
Firstly, violence is wrong - that is not in dispute here. Equally wanting to go out with your friends is not wrong. But let's look at everything separately...
You said that he'd said he wanted to spend a child-free evening with you and that he was going to cook/buy wine etc. That's not wrong, is it? If you'd not wanted to do so you could have surely said no then and that you wanted to go out this time. Except you didn't say no, you led him to believe you would rearrange the night out, and led him to believe that you were going to spend an evening with him - even to the point he had bought the wine, and then told him at the last minute that you didn't want to spend it with him and were going out with your friends. There's nothing controlling about a man wanting to spend time with his partner of an evening - especially if child-free time is rare and you are essentially still in the beginning stages of living together/him being a stepfather.
Can you imagine the response on here if someone posted "I'm really upset, we had a child-free evening this weekend and I was planning to buy some nice wine and cook a nice meal. DP said he was thinking about going out and I asked him to stay in because I wanted to spend the evening together, just the two of us. He said he would rearrange the night out, then this afternoon he suddenly said that he was still going out. I got annoyed because he always seems to put his friends first, and he knew I wanted us to spend some child-free time together. We had a big argument and I called him a fucking selfish prick." (let's remove what happened after out of the equasion and just look at that part), what do you think the response would be? "He has a right to go out with his friends, you sound very controlling."? or, "He is a wanker. He knew that you wanted to have an evening in and had said he would rearrange, and he never did. Clearly he doesn't put you first, is he always like this? What redeeming qualities does he have? He is a selfish arse."?
The argument clearly got out of hand - that is not in question. But actually, your dp wasn't in the wrong to be annoyed at you going out, and if this is the way you normally are, i.e. making commitments to him and then dropping him at the last minute, then perhaps he has good cause to feel that you never put him first and perhaps he snapped.
And you say you're the one that always pushes and pushes and pushes in an argument and he is the one that walks away. Why? Why do you push it? Why do you treat him like this?
Grabbing your arm was wrong, but equally it could be an impulse reaction if he's lost it. He shouldn't have lost it and he shouldn't have grabbed you, but eqally people do things they shouldn't in the heat of the moment. And you shouldn't have hit him - reflex reaction or not.
I don't think this is a case of him being a controlling abuser tbh. There are wrongs on both sides here and IMO you need to sit down and talk about what happened but also the context in which it happened.