That fight had no right to make this emotional on a saturday evening (Whole Cake Island arc)
It’s the fact that, in many ways, it directly contrasted the Usopp-Luffy fight.
Usopp voluntarily left the crew and then challenged Luffy. He was completely and abundantly clear and honest about his intentions. So Luffy had no choice but to meet that determination with a true fight. He didn’t hesitate. He fought him, without regard to their difference in ability or friendship. Or more he fought him BECAUSE of their friendship.
But Sanji came to the fight hiding the truth.
He came to the fight with the intention of deceiving Luffy about his true feelings, his true motivations, and his reasons for fighting.
And Luffy knew that. Sanji was challenging him, and he would never backdown from that. But he wasn’t about to fight his friend knowing he didn’t actually want to fight.
So he can’t fight and he can’t leave. More to the point, leaving would mean he was taking Sanji’s word and abandoning him, when he KNOWS Sanji isn’t telling the truth.
So he stands his ground. He shows Sanji that he’s going to stay there until Sanji tells him the truth. It doesn’t matter how many times he kicks him. He says as much “I know it hurts you more”. He knows that Sanji is in pain with every kick and every blow.
Which is why Sanji is practically begging him to leave. Telling him over and over to go away. So that he can stop hurting his captain, the man who reinvigorated his dream, and the friend (or nakama may have the deeper nuance) whom he believes in absolutely. So he knows at least his crew and captain would be safe from the mess he has to deal with due to his biological family and the threat of a Yonko on his tail.
But he also knows how stubborn Luffy is. If Sanji can’t make him go, then knocking him out so he can leave him behind is the only option left. So he does. He pulls out one of, if not the strongest move in his arsenal and knocks him out.
Add insult to injury, Nami slaps him before he leaves. He couldn’t say a single harsh word to her. Could barely limit his interaction with her to a glare (which I posted about). She slaps him and lays down the only blow dealt in that whole duel, which adds extra impact to his betrayal. He couldn’t say a word in fear of her never ever forgiving him.
But with Luffy, he could get away with it. Putting aside his whole notion of chivalry, on a deeper level, he can say these things with a tiny kernel of subconscious hope within him.
It’s the fact that part of him knows Luffy can sense everything he’s feeling, even if he doesn’t know why, and feels safe enough to say those harsh words to Luffy. His overwhelming trust of Luffy stays strong somewhere deep in his subconscious, so even as he tries desperately to sever ties, he knows Luffy may one day forgive him.
And to confirm that. Luffy calls after him.
“I know you’re lying. I know you didn’t want to do that. I know you’re hurting more than I am. I still need you. You’re my cook. I can’t become Pirate King without you. I won’t leave without you. I won’t eat unless it’s your food! So make sure to come back!”
So, like me, Sanji can’t do anything but cry as they leave Luffy and Nami behind. Even as his conscious brain despairs at having betrayed his captain and crew, it’s extra bitter knowing Luffy still believes in him after all that.