I have a slightly different take on the punch.
While I agree with a lot of what has been said in the previous posts, two things are significant for me:
Latjoreme
…[Ennis] is reminded of how much he'll lose if Jack leaves him, so he lashes out with the Mexico threat.
And
Atz75
Well, I think it's very interesting to focus on the timing of when the punch comes. Very clever of all of you to notice that it comes during a moment of "comforting"... that's a very interesting trend to think about.
I look at the punch as being completely intentional and deliberate.
It goes back to the second tent scene. Jack waited in the tent for Ennis to choose to make a move on this night. Jack wasn’t going to grab Ennis’ hand again. Ennis did make his choice and walked into the tent. What’s significant about this choice? Ennis put aside all of his fears that had been engrained into him. He put all of his trust in Jack. Major steps for Ennis.
Then Jack led Ennis into lovemaking (as opposed to sex, which Ennis did quite handily, thank you very much). And what did Ennis do? He completely and utterly melted into Jack’s arms. He put all of his trust into Jack.
Whoosh! Cut to the scene where Jack is taking down the tent. What does Ennis see? Ennis sees Jack dismantling the home that they built together, that they built by Ennis putting all of his trust into Jack. And Ennis saw Jack taking it down nonchalantly – which we understand because we mainly agree that Jack expected the relationship to continue in some form or fashion post-mountain.
So Ennis got in a snit and went off to sit. And he did himself some thinkin’. As everyone seems to agree above, Ennis is confused and hurt about a lot of issues.
But the key issue I see here is that Ennis now sees (to Ennis, at least) Jack betraying the trust that Ennis put into Jack in the second tent scene and thereafter.
What is significant about Ennis’ trust? Where does Ennis come from? What makes Ennis tick? He was “abandoned” by his parents’ deaths. He was “abandoned” by his sister’s marriage. He was “abandoned” by his brother’s marriage. These are all people he trusted to be there for him – people he needed -- and each one “abandoned” him. When he gave his trust to Jack, he gave Jack everything that had been taken away from himself over the past several years. He put his trust in Jack to lead him and to be there for him.
Now, Jack is leading Ennis away from their home. Ennis feels that he is, once again, being abandoned. This is why I believe his punch was deliberate. I believe Ennis is saying “You son-of-a-bitch… how dare you abandon me when I gave myself to you.” He subjugated his fear of “queer” by putting his trust in Jack. Now, he’s lashing out at the object, the maker or doer, of his other great fear – fear of abandonment – and that object is Jack.