Sanji doesn’t like being protected.
Because here’s the thing about owing a debt to the world for letting you live — you can never truly finish paying it off.
In a way, he’s gotten off easy. He’s strong, he’s skilled at what he does, and he moves through the world in the flesh-suit of an independent man. As a teenager, he could chase off fully grown pirates with kicks he borrowed from the man whose leg he took, and he’s only gotten more powerful since then. When he joins Luffy’s merry band of pirates, he immediately gets thrown into a chance to prove himself — their navigator, darling Nami, had found herself in danger, and Luffy needed his help to save her. He couldn’t have crafted a more perfect opportunity to pay Luffy back if he’d tried.
This is when he meets Roronoa Zoro, as in actually gets to talk to him, and he realizes something crucial. First of all, Zoro pisses him off; but that’s not important. What matters is that Sanji knows, instinctively, that he cannot let himself fall behind Zoro — because if he becomes someone Zoro has to look after, has to step in to protect, he’d never be able to lift his head from under the weight of all that debt.
It works out, because Zoro is still injured from his fight with Mihawk and although he’s able to push himself through a fight with Hachi, he still needs Sanji to save his ass. That’s a very suitable arrangement for Sanji. Not Zoro being injured — Sanji would never rejoice at another person’s misfortune — but the fact that Sanji is able to position himself as someone who watches Zoro’s back, rather than the other way around. He tells himself that his knighthood is sworn to Nami (and Luffy, because Luffy saved the Baratie and believed in his dream and thus Sanji owes him—) but when he looks at Zoro and sees that effortless dedication, that single-minded devotion to his ambition, he can’t help but swear something to that too.
He won’t admit that to himself. Never. He couldn’t.
But he looks towards Zoro in every fight, always bracing himself to catch the swordsman if/when he stumbles. He catalogues Zoro’s injuries, weaknesses, and shortcomings. He disguises his care with antagonism — I’m stronger than you, he yells and kicks and bites and snarls, because that’s easier than saying rely on me.
Zoro does. Sanji can see it, even if the swordsman won’t admit it to him. Lend me a hand for ten seconds, he’ll say. A dead end? Do you see it? he’ll ask. Give me a boost, he’ll demand. And there’s that unspoken line between them that will pull taut with tension, the anticipation that Sanji will respond with that should be enough time and armee de l’air.
So he keeps an eye on Zoro’s back. He watches out for the man that never stops watching for danger, because he knows well that everyone is fallible (himself most of all.) They're both protectors, they’re both knights who kneel to Luffy's call, but Sanji takes heart in the fact that Zoro is selfish enough to accept his chivalry.
And then Zoro knocks him out at Thriller Bark.
Sanji tried, okay? He tried to protect Zoro and his dream. He tried to step in to save him from the death and the pain and the chilling sense that they’re never safe and never will be. And he failed, because Zoro stepped in front of him and took the blow, and now every contingency of service Sanji has built around himself is crashing down around him.
His life for Zoro’s — is it really that bad of a trade?
He supposes it is. Who would want to take payment from a debtor?
But what is he to do about that fact? He owes Zoro, now, too — because Zoro apparently isn't selfish enough to preserve his dream over Sanji's meager, unimportant one. In the days following their departure from Thriller Bark he watches Zoro cough blood into his hand when he thinks no one can see him, and he resolves to do better, to move faster, to do everything he can to repay.
It's not enough. He checks in with Zoro over and over and it's not enough. He moves to protect him and Usopp in Sabaody and it's not enough. It's not enough because it's never enough, because Sanji owes too much already to too many people and trying to reconcile all of his debts is like trying to scale a mountain through an avalanche.
(Luffy could do that. Luffy wouldn't—)
There's not a lot he can offer people, after all. His hands and his flames and his food and his dreams — how much could all of it even add up to? Especially when compared to impossible promises and unyielding conviction and a steady certainty of purpose?
So he'll protect friends, he'll rescue strangers, he'll jump in to save anyone and everyone. He's the knight who would dash himself against the lance to save the princess. But to have someone hold up a shield for him?
Why should anyone do that?