Work Text:
1. The First Time (aka That Time with the Chickens)
It started, as most disasters on the Sunny did, with Zoro and a chicken.
Sanji wasn’t even supposed to be awake. It was three in the goddamn morning, the moon hung like a limp pearl in the sky, and he had just finished cleaning the kitchen after Luffy’s midnight snack raid—which, frankly, had looked more like a culinary hurricane than anything involving rational digestion. He was two minutes away from collapsing into the sweet arms of nicotine and the deck rail when a commotion erupted near the storage crates like the bastard child of war and poultry.
The squawking was unholy.
At first, Sanji thought it was Usopp’s weird experimental alarm system malfunctioning again. Then he thought maybe Brook was playing some kind of haunted violin solo for the birds. It wasn’t until he heard a muffled grunt—followed by a very loud “You feathery little SHIT—!”—that Sanji realized it was Zoro.
He should’ve walked away.
He wanted to walk away.
But some goddamn masochistic part of him knew—knew—that whatever was happening would be deeply stupid, and that he would regret not seeing it with his own eyes.
And so he did.
He rounded the corner, cigarette already lit, and was immediately met with the sight of Zoro, half-shirtless, very muddy, and engaged in what appeared to be a one-sided duel with a chicken roughly the size of Chopper.
The chicken was winning.
“What,” Sanji asked, voice flat with the incredulity of a man whose brain was actively rejecting the data his eyes were presenting, “in the everloving fuck are you doing.”
Zoro did not stop trying to wrestle the bird, which flapped its wings with the might of God and launched itself onto his face.
“I was trying to get some goddamn eggs!” Zoro shouted, now partially blind. “But this—this demon spawn—won’t let me near the coop!”
Sanji took a long drag of his cigarette. Blew out smoke like a sigh of the eternally damned.
“You’re seriously losing a fight to a chicken.”
“It’s a big chicken.”
“You’re a dumbass.”
The words came out before he could stop them—dry, clipped, and tinged with that blend of exhausted affection and volcanic disbelief he only ever seemed to reserve for Zoro. The kind of tone one might use when watching someone attempt to eat soup with a sword.
Zoro finally managed to pry the bird off his face. It landed with a disgruntled squawk and stalked off into the darkness with all the offended dignity of a spurned god.
“You could’ve helped,” Zoro muttered, brushing feathers out of his hair, shirt clinging to his side in a way that made Sanji deeply, profoundly annoyed.
“Help? And rob the world of the sight of the great Pirate Hunter being body-slammed by poultry? Perish the thought.”
Zoro scowled, but there was a twitch at the corner of his mouth like maybe—maybe—he wasn’t actually pissed. Like maybe he was half-smiling in that stupid way he did when he was caught doing something ridiculous but too stubborn to admit it.
Sanji hated that twitch. He hated the way it made his chest feel—like something had clicked into place that had no business fitting there.
“Dumbass,” he said again, softer this time, cigarette bobbing between his teeth as he turned away to hide the grin he couldn’t quite fight.
“Cook,” Zoro said, like it meant something.
Sanji flipped him off without looking back, ears red.
They didn’t talk about the chicken again.
But the next morning, there were eggs in the kitchen. No one asked where they came from.
And Zoro didn’t deny it when Sanji made omelets and muttered “dumbass” under his breath like a promise. Like a name he wasn’t ready to give meaning to yet.
2. The Second Time (aka That Time They Got Handcuffed Together and Nobody Died But It Was Close)
Sanji had one rule.
Well. He had a lot of rules. About food. About knives. About how you don’t cut carrots into cubes like a barbarian, Luffy. About the sanctity of meat temperature and properly steeped tea and how under no circumstances should anyone—anyone—touch his spice rack unless they were prepared to lose fingers.
But above all that, floating somewhere in the upper stratosphere of Important Shit He Believed In, was this:
He did not do mornings.
Mornings were for coffee. For silence. For the kind of bleak introspection that only came when you were hungover on two hours of sleep and someone (read: Luffy) had already broken something loud.
So when Sanji woke up in the middle of the morning—the actual, godforsaken sun-drenched morning—and found himself shackled at the wrist to one (1) grumpy swordsman with a face like thunder and the emotional maturity of a brick, he decided immediately and with great prejudice:
He would kill someone for this.
Preferably Zoro.
“Don’t look at me like it’s my fault,” Zoro growled, tugging at the thick iron chain that connected their right wrists. He was shirtless. Of course he was shirtless. The sun was streaming through the porthole like some kind of celestial spotlight and it hit the curve of his collarbone like an insult. “You’re the one who fell asleep in the goddamn treasure room.”
Sanji sat up slowly. Blinked. Then blinked again, as if sheer force of will could erase the reality in front of him.
“…What the fuck do you mean treasure room?”
Zoro rolled his eyes and leaned back against the wall, which had the dual effect of flexing every muscle he owned and tugging Sanji along with him. Their joined wrists pulled taut. Sanji resisted the urge to scream.
“There was a chest,” Zoro said flatly. “We opened it. It clanked. We got trapped. You snored.”
“I DO NOT SNORE.”
“You snored like a dying walrus.”
Sanji closed his eyes. Breathed in. Breathed out.
And then, very calmly:
“You absolute, irredeemable, sword-brained dumbass.”
Zoro barked a laugh, teeth flashing. “Didn’t hear you complaining when you curled up next to me like a damn cat.”
Sanji sputtered. “I was cold! You’re a giant furnace with all that meat on your bones and zero thoughts in your skull!”
“Dumbass,” he said again, venomless now, more like punctuation than an insult. Like a reflex.
Like a term of endearment he hadn’t noticed had started slipping through the cracks.
“C’mon,” Zoro muttered, standing up and hauling Sanji with him like he weighed nothing. “Let’s find Robin or Franky and get this shit off.”
They made it ten feet.
They did not make it any farther.
See, the problem with being handcuffed to someone you hated (and also sort of didn’t hate, and also sort of fantasized about licking the sweat off of in certain dreams you definitely did not have) was that Zoro was left-handed. And Sanji was right-handed.
And the cuffs were on those hands.
Which meant—
“NO, DUMBASS, I HAVE TO STIR THE SAUCE—!”
“You’re gonna stir your face into the floor if you don’t move—!”
“Zoro, I swear to God, I will cook your lungs for dinner—”
By the time they reached Franky’s workshop, they had broken a chair, a teacup, and possibly the Geneva Convention.
Franky looked up from a pile of blueprints, blinked behind his goggles, and said, “Whoa.”
“Fix it,” Sanji said, teeth gritted, covered in marinara and existential despair.
Franky tilted his head. “Is that a hickey?”
Sanji froze.
Zoro made a choking noise.
“It’s a burn mark,” Sanji hissed, tugging his collar up. “From the soup.”
“It was not from the soup,” Zoro said smugly.
Franky shrugged. “I mean, I can remove ‘em, but like, you sure you wanna? You two look pretty super close.”
Sanji would deny it forever, but his cheeks flushed pink.
And Zoro—Zoro looked sideways at him, the hint of a grin tucked into the corner of his mouth, one eyebrow raised, like a dare.
Like: say it again. Call me that again.
Say dumbass like you mean something else.
Sanji didn’t.
When the cuffs did come off, he lingered just a moment too long, watching Zoro’s hand as it fell away from his own.
He lit a cigarette to hide it. Called him a dumbass again for good measure.
Zoro just smirked and Sanji hated how much he liked it.
3. The Third Time (aka That Time Zoro Got Sick and Sanji Lost His Entire Goddamn Mind About It)
It started with a scratch. Or, at least, that’s what Zoro said it was.
Just a scratch, he grunted, brushing off Nami’s worried look with all the grace of a man who regularly slept on the floorboards by choice. Just a scratch, he told Robin, when she raised an elegant eyebrow at the blood dripping down his arm and onto the freshly polished deck. Just a scratch, he told Chopper—Chopper, who was literally a doctor and knew better—before wandering off in the middle of a storm warning, like some half-feral stray mutt with too much pride and zero brain cells.
It wasn’t just a scratch.
Sanji knew it wasn’t a scratch because three days later, Zoro was slumped against the hull of the Sunny like a broken marionette, burning up with fever, soaked to the bone from the squall that had slammed into them just off the coast of some nowhere island, and muttering nonsense about directions and duels and—
“—‘m gonna kill the wind ‘fore it gets me.”
“Okay, that’s it,” Sanji snapped, storming over and crouching beside him, thunder cracking in the distance like divine punctuation. “That’s enough poetry from you, you sword-swinging meathead.”
Zoro cracked one bleary eye open. “’S not poetry. ‘S a vow.”
Sanji resisted the urge to slam his own face into the deck.
“Shut up, dumbass.”
Zoro smiled faintly.
Sanji hated that smile.
It was crooked. Lopsided. Barely there. But it was fond, like he was used to Sanji’s words, like he wore them in his sleep, like they were a rhythm in his chest he’d stopped noticing a long time ago.
Sanji didn’t have time for fond. He was too busy not panicking.
Zoro wasn’t supposed to get sick. Zoro was supposed to be the immovable one, the reliable one, the grumpy, sword-cuddling, nap-tanking, impossible bastard who could take a cannonball to the ribs and be fine by lunchtime. He wasn’t supposed to be trembling in the galley with his breath hitching and his wounds festering and his fucking rain-soaked forehead pressed to the cold wall like the ship was the only thing keeping him vertical.
“Why the fuck didn’t you tell anyone it was infected?” Sanji demanded as he peeled off Zoro’s damp shirt with hands that were not shaking, no matter how traitorous they felt. “You could’ve lost your arm, idiot.”
“Didn’t wanna—slow down the crew,” Zoro muttered, swaying.
“You’re a dumbass.”
The word came out too raw. Too thick. It caught in his throat like a sob that’d forgotten how to finish being born.
He made soup.
That’s what he did when the world started sliding sideways.
He made soup, because his hands knew how to chop and stir even when his head was screaming, and Zoro needed warmth and salt and calories and not to fucking die in his goddamn kitchen, not when Sanji hadn’t even figured out what the hell to do with the way his stomach twisted every time Zoro leaned against a wall like he belonged to it.
Zoro didn’t eat much of the soup. He slumped forward halfway through, cheek pressing into the edge of the table like gravity was personal this time. Like the fever had decided it wanted to win.
“Zoro,” Sanji said softly, kneeling beside him, towel in hand.
Zoro blinked. Slow. Heavy. Green eyes like moss after rain.
“You mad at me?” he asked.
“What—of course I’m mad at you,” Sanji hissed. “You were wandering the deck like a haunted sponge, mumbling about slicing up weather. You nearly passed out in my kitchen. You could’ve died.”
Zoro hummed.
“‘S kinda hot when you worry.”
Sanji dropped the towel.
“You’re delusional.”
“I’m serious. Your eyebrows do this angry little tremble thing. It’s cute.”
“Dumbass.”
Zoro’s head lolled to the side. His grin was lazy and drunk with fever.
“Say it again.”
“I swear to god—”
“Say it,” he whispered. “Like you mean it.”
Sanji exhaled and looked down at him. Looked at the mess of him—the flushed cheeks and tangled hair, the half-dried rain on his skin, the too-fast pulse fluttering in his throat. The way his hand had curled, reflexively, like it wanted to reach for something but didn’t quite know what.
“You’re a dumbass,” Sanji said again, but it came out quiet this time. Not an insult. Not even a curse.
Zoro’s eyes fluttered shut.
And Sanji sat there a long while after that, listening to the storm quiet outside. Letting the sound of Zoro’s breathing fill up the galley like something sacred.
Later—when Zoro was asleep, and the worst of the fever had broken, and the moon was out again like a pale coin in the sky—Sanji ran his hand once, carefully, through that wild green hair.
“Dumbass,” he murmured again, barely audible. “Next time, tell me. Before I have to feed you soup like a corpse.”
Zoro didn’t answer, but he shifted, just slightly, toward the sound of Sanji’s voice.
4. The Fourth Time (aka That Time Zoro Fell Off the Crow’s Nest and Sanji Nearly Committed Murder via Concern)
It wasn’t the fall that scared him. It was the silence afterward.
The Sunny was calm. The sea was calm. The wind was lazy, the sun was warm, Luffy was snoring on the figurehead, and all was right in the world until a thud echoed across the deck—dull, abrupt, final.
That’s when everything stilled.
“Zoro?” Chopper called hesitantly.
And Sanji knew.
He knew.
Because Zoro wasn’t the kind of man who just fell. Zoro tripped, stumbled, veered left when he meant right, accidentally sliced through bulkheads and wandered into kitchens he didn’t belong in—but he didn’t fall. Not like that.
Sanji was halfway across the ship before anyone else had moved.
The moment he rounded the mast and saw Zoro—crumpled awkwardly on his side like a ragdoll someone had dropped mid-thought, a splatter of blood on the deck from his temple, one arm twisted beneath him in a way that made Sanji’s breath stutter—he stopped thinking entirely. His feet carried him the rest of the way on autopilot.
“Oi,” Sanji barked, crouching beside him, voice sharp as broken glass. “Oi, moss-brain—wake up. Now.”
Zoro didn’t move.
Sanji’s stomach dropped so hard it scraped the ocean floor.
Chopper was already on his way, medical bag rattling. “He must’ve passed out up top! Heatstroke, maybe—he’s got a fever again, he’s been hiding it—!”
“Of course he has,” Sanji snarled, hands hovering over Zoro’s body like he didn’t know what to do with them. “Because he’s a dumbass. A complete and total dumbass.”
His voice cracked.
He didn’t care.
He pressed a trembling palm to Zoro’s forehead—too hot, again, always too hot—and tried to keep his hands from shaking. Tried to ignore the cold sweat pooling at the base of his spine. Tried to pretend he wasn’t counting the seconds between each shallow breath.
He could smell the blood.
“Why the hell do you keep doing this,” Sanji whispered as Chopper checked for fractures, panic humming just beneath his skin. “You reckless, stubborn, infuriating—dumbass.”
It took two full hours for Zoro to wake up. Two hours of pacing, swearing, growling at anyone who tried to tell him to sit down, threatening to fry the sun itself if it didn’t stop toasting swordsmen alive, and attempting to cook something that didn’t end in him almost slicing his own thumb off because his hands wouldn’t stop trembling.
When Zoro did open his eyes, it was slow. Blinking like the world was too bright. Like he hadn’t expected to wake up at all.
“...Cook?” he rasped.
Sanji nearly punched him. Instead, he shoved a cold cloth against his forehead and snapped, “Don’t fucking Cook me, you absolute bastard. You fell off the crow’s nest. You cracked your head open like a raw egg. You nearly broke your arm. And you didn’t tell anyone you had a fever again?!”
Zoro blinked at him. “Didn’t wanna—”
“—slow the crew down, yeah, yeah,” Sanji spat, voice high and tight. “Congratulations. You’ve graduated from dumbass to delirious suicidal maniac with rocks for brains. Want a medal?”
Zoro didn’t reply, but something in his gaze softened and went quiet.
“I knew you’d catch me,” he said.
Sanji froze.
“You didn’t know shit,” he managed after a moment, but his voice was hoarse.
“I did,” Zoro said simply. “You always show up when it matters.”
Sanji turned away before Zoro could see whatever expression had just clawed its way up his face. He lit a cigarette with trembling fingers. Exhaled slowly. Refused to meet those eyes again.
“I’m gonna tie a bell to your ass,” he muttered. “When you wander around with a fever, I’ll know to kick you off the ship before gravity gets the chance.”
Zoro grinned. It was weak and crooked. Blood still crusted his temple. But it was real.
“You’d miss me.”
“Only because no one else is dumb enough to be this consistent about dying in increasingly creative ways,” Sanji growled. “Dumbass.”
There it was again.
That word.
The one he kept using like a whip, like armor, like a bandage over a truth he couldn’t name. It was always on his tongue with Zoro. As natural as breath. As heavy as something he wasn’t ready to admit had roots in him.
“Dumbass,” Sanji whispered again as Zoro drifted off, his breath evening out, his fingers twitching slightly on the blanket like they were still reaching for swords—or people. “You’re gonna be the death of me.”
He didn’t leave the room that night.
And in the morning, when Zoro blinked at him through bleary lashes and rasped, “Why did you stay?”—Sanji only grunted, turned his face away, and muttered:
“Only to make sure your dumb ass didn’t fall out of the bed this time.”
5. The Fifth Time (aka That Time Zoro Nearly Died in a Duel and Sanji Didn’t Let Him Walk Away From It)
It had been a simple detour. Just a tiny island—lush, green, nothing special in the log pose’s eternal spiral of dead-ends and storm-magnets. A chance to resupply. A quiet village, a sleepy tavern, a lazy breeze brushing through the trees. No Marines, no Warlords, no world-shattering conspiracies.
So naturally, Zoro found a duel within thirty-five minutes of docking.
Sanji had known something was wrong the moment he couldn’t hear Zoro anymore. Which sounded insane, until you realized Sanji always knew where Zoro was by sound alone. The scuff of boots across deck planks. The metallic hum of swords being sharpened. The faint, almost meditative rhythm of breathing that came with someone who spent more time sitting cross-legged in corners than actually doing anything useful.
So when that absence hit him—when the ship fell into a strange quiet like it was missing a heartbeat—Sanji looked up from his cutting board and muttered, “He’s doing something stupid again.”
Nami blinked. “Zoro?”
“Who else?”
He found them in a clearing outside the village.
Zoro and some local hotshot swordsman, both shirtless, both bleeding already, both grinning like pain was a language they knew better than common sense. A small crowd had gathered. Sanji pushed through them with the fury of a storm wrapped in a suit jacket and cigarette smoke.
“What the fuck do you think you’re doing?” he snapped the moment he was close enough to be heard.
Zoro didn’t look away from his opponent.
“Winning.”
“You’re bleeding.”
“Winning while bleeding.”
“You’re a dumbass.”
Zoro grinned and then lunged.
The duel was brutal. Beautiful, in that way that only pure violence could be when it danced just this side of poetic. Blades clashed. Blood sprayed. The opponent was fast, clever, somewhat on Zoro’s level—but not quite.
Still, the final strike came with a cost.
Zoro’s sword arced down in a finishing blow—and in the same breath, his opponent’s blade slashed across Zoro’s side in a brutal, jagged motion that had Sanji’s stomach lurching. He was on Zoro before the man even hit the ground.
“You absolute fucking—”
“I won,” Zoro panted.
“You idiot. You dumb, suicidal, one-track-minded—”
Zoro grinned through the blood on his teeth.
Sanji grabbed his collar and shook him.
“You nearly died for what? Honor? Bragging rights? To prove you’re the biggest sword-swinging moron in the Grand Line?!”
Zoro’s breath was a wheeze. His side was leaking crimson. But he looked up at Sanji like the shouting was a lullaby. Like he didn’t mind being held upright by anger and a pair of shaking hands.
“You showed up,” he rasped.
“Of course I showed up!” Sanji shouted. “Because I knew you’d pull some stupid bullshit like this! Because you can’t go five minutes without bleeding for glory! Because—”
He cut himself off. Swallowed hard.
“Because someone has to make sure you don’t die before you figure out how to live.”
Zoro blinked like the words had hit something deeper than the ribs. Like he’d been expecting anger, but not... this.
Not the way Sanji’s hands had curled into fists against his shoulders, like they wanted to hit and hold him all at once. Not the way his breath caught like there was a scream still sitting on his tongue that wouldn’t come out.
Sanji exhaled.
“You’re a dumbass,” he said again, softer this time. Not an insult. Not even a curse once again.
A truth.
One he kept returning to like a prayer. Like a lifeline that grounded him in the middle of every goddamn storm Zoro dragged them into.
Zoro smiled, tired and bloody and still victorious. He leaned into Sanji’s grip.
Just a little.
And Sanji held on. He didn’t say don’t do this again. He knew better. But he made sure Zoro’s arm was over his shoulder as they limped back to the Sunny, muttering threats under his breath about anchoring idiots to the mast and making soup out of anyone who even thought about dueling again, and calling Zoro a dumbass every three steps just to keep himself from saying something else.
Something worse. Something more true.
+1. That Time Sanji Forgot to Pretend It Wasn’t Love
(aka The One Time He Meant It)
It was supposed to be a quiet night. The kind of quiet that only came when the ship was anchored near some uncharted island, bellies full, skies clear, and the moon rising like it had something soft to say.
Luffy was asleep. Nami and Robin were reading under the stars. Brook was humming a lullaby near the stern. Usopp was snoring into his own elbow, curled up beside Franky and a pile of half-finished blueprints.
And Sanji—
Sanji was pretending not to watch Zoro from the corner of his eye.
Zoro sat at the bow, legs crossed, arms folded across Wado Ichimonji like it was a shield and a pillow both, one eye half-lidded, head tipped back to look at the sky. The moonlight clung to his shoulders. His swords lay beside him, quiet for once. He looked—
Unreachable.
Sanji hated how much he wanted to touch him. To ask, stupidly, softly, what are you thinking when the world is this still?
Instead, he said nothing. He sat on the other side of the deck, cigarette forgotten between his fingers, wine untouched, breath shallow.
He wasn’t sure how long they stayed like that. Minutes. Hours. A lifetime pressed into the hush between stars.
And then Zoro spoke.
“You always look like that when you’re thinking too loud.”
Sanji blinked.
“Like what?”
“Like your heart’s trying to claw its way out of your chest but your mouth hasn’t caught up yet.”
Sanji snorted. “Poetic for a guy who still says ‘santoryu’ like a pickup line.”
Zoro smirked. “Worked on you, didn’t it?”
“Keep dreaming, dumbass.”
Zoro laughed.
A real one—low, surprised, rough around the edges like it had been ripped out of him by accident. Sanji’s chest hurt.
“I mean it,” Zoro said after a moment, softer now. “You wear your silence like a noose.”
Sanji looked at him then. Really looked.
And for the first time in a long time, Zoro wasn’t looking back like it was a challenge. He was just looking. Certain. Like he’d already made up his mind about something and was just waiting for Sanji to catch up.
“You’re drunk,” Sanji said.
“Nope.”
“Delirious?”
“Not yet.”
“Possessed by a ghost with bad taste?”
“Only thing possessing me is the urge to kiss you, dumbass.”
Sanji dropped his cigarette.
Zoro didn’t flinch or move. He just waited.
The silence stretched until it felt like rope.
Sanji could’ve laughed. Could’ve kicked him in the shin. Could’ve called him every name in the book and walked away and pretended it hadn’t happened.
But he didn’t.
He stood instead and crossed the deck. Stopped just short of Zoro’s reach.
“You don’t get to say that,” he said, voice low.
“Why not?”
“Because if you say it, I’ll believe you.”
Zoro’s brow furrowed.
“And if I want you to believe me?”
Sanji’s throat tightened.
The sea lapped gently against the hull. The stars didn’t blink. The world, impossibly, held its breath.
Zoro stood, deliberately. And when he stepped forward, close enough that their shoulders nearly touched, he said:
“I’ve been trying to figure out what to call this. What to call you. But every time I think about it, all I hear is you yelling dumbass at me like it means something different every time.”
Sanji’s hands curled into fists at his sides.
“It does mean something,” he whispered.
Zoro waited.
So Sanji breathed in and out. And said, “It means I don’t know what I’d do if you left. It means I hate that you bleed like it doesn’t matter. It means I notice every time you flinch and pretend it’s nothing. It means I’ve been waiting for you to say something real for so fucking long, mosshead, and now you’re here, and I don’t know how to hold it without breaking.”
Zoro didn’t blink.
“Then break,” he said. “I’m right here.”
Sanji looked up at him. Saw the tremble at the edge of Zoro’s mouth. The hope hiding behind all the bravado. The bare truth of him, uncloaked.
So he stepped forward.
One more inch.
And pressed his forehead to Zoro’s chest.
“Love,” he whispered, so quiet it barely existed.
Zoro froze.
Sanji closed his eyes.
“I call you that. In my head. When I’m too tired to fight with you. When I’m drunk off my ass. When you’re bleeding and I’m bandaging you like it doesn’t tear me in two. I call you love because it’s the only word I’ve got that’s stupid enough to match you.”
Zoro’s hands rose—slow, careful. One curled at Sanji’s hip. The other cradled the back of his neck.
And then he whispered, just as softly:
“Say it again.”
Sanji tilted his face up.
“Love.”
Zoro kissed him.
It wasn’t graceful. Teeth clicked. Breath stuttered. One of them probably whispered fuck under their breath.
But it was theirs.
And when they pulled apart, Zoro leaned his forehead against Sanji’s and breathed, “You’re not getting rid of me now, you know.”
Sanji rolled his eyes.
“Dumbass,” he muttered. “You think I’d let you?”
Zoro grinned.
And somewhere above them, the stars kept watch.
