Actions

Work Header

The Bet That Launched a Thousand Gay Panics

Summary:

“You’re slowing down, marimo,” he said, dodging the downward swing of Zoro’s blade with a theatrical flourish that was probably illegal in three countries for being that pretty.

Zoro, shirtless, glistening, sweaty, and deeply homicidal, growled like a man personally offended by gravity. “Maybe you’re just talking too much.”

“Or maybe,” Sanji said, kicking off the railing and twisting in the air like some kind of gymnastic demon prince, landing with a little click of his heel, “you’re scared I’ll win.”

Zoro scoffed. “You? Win? In your fucking dreams, curlybrow.”

Sanji’s eyebrow twitched. That was it. That was war.

“One round,” Sanji said. “Winner gets one favor. Anything they want.”

In which Zoro loses a spar, Sanji wins a favor, and both of them lose any semblance of sanity or heterosexuality.

Notes:

(See the end of the work for notes.)

Work Text:

It starts, as most terrible ideas do, with Zoro’s smug face and Sanji’s unbearable pride and a completely unnecessary amount of testosterone in the air.

They were sparring. Again. Of course. Because what else was there to do when they weren’t getting flung across the Grand Line like ping-pong balls or dodging existential crises involving World Government conspiracies and ancient weapons? No, this was their version of downtime: try to beat the absolute shit out of each other in the name of training and also definitely not sexual tension.

The sun beat down on the deck like it had something to prove. The crew was gone—thankfully—on a supply run in town, leaving the ship suspiciously empty and peaceful, which of course had to be ruined immediately.

Gods above, below, and sideways—Sanji wanted to knock the moss straight off his stupid head.

All because Zoro said, “You’re slow today. Already out of breath?”

And Sanji, in the process of dodging a horizontal arc of blade-slice, shouted back, “You smell like a rotting sea cow’s ass—I’m not the one wheezing, marimo!”

And that was when the bet happened.

Sanji stood with one hand in his pocket and the other adjusting the cuff of his shirt like he was prepping for a fashion show instead of a fight. His shirt was half-unbuttoned, clinging damply to his chest from exertion. His tie hung loose and lopsided around his neck. A cigarette bobbed in the corner of his mouth as he grinned around it, every inch of him the picture of infuriating arrogance.

“You’re slowing down, marimo,” he said, dodging the downward swing of Zoro’s blade with a theatrical flourish that was probably illegal in three countries for being that pretty.

Zoro, shirtless, glistening, sweaty, and deeply homicidal, growled like a man personally offended by gravity. “Maybe you’re just talking too much.”

“Or maybe,” Sanji said, kicking off the railing and twisting in the air like some kind of gymnastic demon prince, landing with a little click of his heel, “you’re scared I’ll win.”

Zoro scoffed. “You? Win? In your fucking dreams, curlybrow.”

Sanji’s eyebrow twitched. That was it. That was war.

“One round,” Sanji said. “Winner gets one favor. Anything they want.”

Zoro paused.

Sanji smirked.

Zoro paused harder.

“Anything?” he asked, eyes narrowing suspiciously, because there was nothing more terrifying than giving that blond bastard a blank check.

“Anything,” Sanji purred, a little too pleased with himself.

Zoro rolled his shoulders, sword gripped in both hands, eyes sharp. “You’re on.”

And so it began.

They clashed in a blur of movement and heat and shouting, kicks against blades, sparks against wind, the kind of fight that felt like it belonged in epics or sex dreams. (Maybe both. Hard to say. Especially if you’re Chopper, who covered his eyes and peeked between his hooves, traumatized.)

Zoro was fast. Brutal. He fought like a natural disaster—inevitable, devastating, shirtless. Sanji was poetry with bruised knuckles, violence turned elegance, every move a taunt. It was a conversation in punches and dodges and muttered curses, each saying in their own way:

You drive me insane.

You drive me more insane.

Why do you exist.

Why do you wear shirts like that.

Why do I notice.

It was, to their credit, actually a pretty close fight. There was a lot of sweat. A lot of swearing. Several near-death experiences for the railing, the deck, and the rigging. At one point Sanji kicked a barrel so hard it exploded into splinters and Zoro called him a “drama queen with legs.” At another point, Zoro sliced through a clothesline and got hit in the face with Nami’s drying bra. That was the moment they both had to stop and stare at each other in horror, then agreement, then immediately shove the thing off the deck with a level of panic reserved for cursed artifacts.

Eventually, though, Sanji landed the finishing blow—a low spinning kick that swept Zoro’s legs out from under him, followed by a sharp heel pinning Zoro’s chest to the deck. Sanji was panting, his bangs stuck to his forehead, his mouth slightly open, and the cigarette long gone. He looked down at Zoro with all the triumph of a man who had waited his entire life to say the next thing.

Zoro stared.

“I win,” Sanji breathed, voice half-laugh, half-orgasm.

Zoro glared up at him, murderous. “You got lucky.”

Sanji pressed down with his heel just slightly, smug bastard incarnate. “A win’s a win, mosshead.”

Zoro shoved his foot off and sat up, scowling as he wiped sweat off his forehead. “Fine. What do you want. Name it.”

And that—that—was when Sanji paused.

Zoro narrowed his eyes. “Why are you making that face?”

“What face?”

“That face. That smug bastard face. The one that means you’re about to say something deeply stupid.”

Sanji was smiling. No—he was glowing with some horrible inner radiance that only occurred when he’d thought of something truly, astronomically chaotic.

“I haven’t decided yet,” Sanji said sweetly, picking up his jacket and throwing it over one shoulder like a post-war aristocrat. “But don’t worry, Zoro-kun. I’ll let you know when the moment comes.”

Zoro stared at him, eyes narrowing into death threats and prophecies of doom.

“You’re going to make it something horrible, aren’t you,” he said flatly.

Sanji winked. “Would it scare you if I did?”

Zoro’s entire soul physically recoiled. “I hate you.”

Sanji blew him a kiss and sauntered off, already rehearsing possibilities in his head that included: 1) making Zoro wear a suit, 2) having Zoro cook dinner and narrate it like a food show, or 3) making Zoro call him “my prince” for a whole day.

Zoro sat on the deck and contemplated throwing himself into the ocean.

It didn’t help that his brain—traitorous, goddamn brain—kept flashing back to how Sanji had looked standing over him, panting, flushed, all legs and lashes and sin. And how his first thought had been: fuck.

He cursed the sun, the sea, the gods, and Sanji’s stupid beautiful face in every combination available to the human tongue.

And somewhere, unseen, the ship creaked ominously. The universe held its breath.

---

Zoro didn’t sleep that night.

Which was normal. He was the swordsman. The protector. The gruff, gritty, totally unfazed by anything except maybe directions and ghosts kind of guy. The guy who could fall asleep anywhere, anytime, in any position—including vertically against a wall. But tonight?

Tonight he lay on his back in the crow’s nest, staring up at the stars like they had personally betrayed him. Like they had each conspired, twinkling bastards, to remind him of the absolute horror of losing a bet to Sanji of all people.

Sanji, who was already smug on a normal day. Sanji, who twirled through combat like a dancer dipped in grease and arrogance. Sanji, whose legs defied gravity and whose voice was a walking sex crime.

And worst of all: Sanji, who now had one favor to ask of him. One limitless, no-strings-attached, no-backsies favor.

Zoro’s life was over.

It didn’t matter that Sanji hadn’t cashed in the favor yet. In fact, that was worse. That meant Sanji was thinking about it. Plotting. Crafting something elaborate and humiliating, probably involving public declarations and maybe lace underwear.

Zoro groaned and buried his face in his arms.

From somewhere on the deck below, a soft humming rose—off-key, low, and irritatingly familiar.

Sanji was in the kitchen. Singing. At him, probably.

Zoro sat bolt upright and hissed through his teeth. He was going to kill him. He was going to march down there, bash Sanji’s head in with the flat of Wado Ichimonji, and then deal with the sexual implications of that metaphor later.

Except.

Except when he got down there, Sanji had flour on his cheek and his sleeves rolled up to his elbows and his collarbone was doing that thing, and Zoro forgot how to speak for approximately seventeen seconds.

Sanji didn’t even turn to look at him. Just said, “Oi, moss for brains. You look like you got hit with a brick made of regret.”

“I came to stab you,” Zoro muttered, trudging in and flopping down at the table like a man condemned.

“Then I suggest you wait until I’m done making the soufflé,” Sanji replied, unbothered. “Unless you want to die with a burnt one in your stomach. I do have standards, you know.”

Zoro’s brow twitched. “Since when the hell do you hum in the kitchen?”

“I’m in a good mood,” Sanji said airily. “I beat someone particularly stubborn and violent today. Really made my week.”

Zoro narrowed his eyes. “Say it again. I dare you.”

Sanji turned, dramatically wiping his hands on a towel, and leaned on the counter like a woman in a soap opera who just found out her lover was the father and the hitman.

“I won,” he whispered, voice sultry and mocking. “You lost. That means, my little cactus, you belong to me. For one... very special favor.”

Zoro opened his mouth.

Closed it.

Opened it again, this time managing a strangled, “Don’t call me that.”

Sanji grinned like the devil in an apron. “You’re right. I’ll save the pet names for when I make you say them back.”

Zoro made a noise like a dying whale. “Just ask already. Get it over with.”

But Sanji only tapped his chin thoughtfully and turned back to the stove. “Nope. Not yet.”

“You said—!”

“I said when the moment comes. Not when you want it. I’m building suspense. Don’t ruin my foreplay.”

Zoro turned so red he actually dropped his forehead onto the table with a thunk. “Stop talking.”

Sanji only chuckled, stirring something gently in a pan like they weren’t two seconds from throwing down again.

And so the days passed.

Each one more unbearable than the last.

Sanji smiled at him in front of the crew. Called him things like “my darling disappointment” and “beloved brawler.” Cooked him slightly better portions at dinner and winked when he passed the plate. Zoro swore on his swords that if Sanji ever did something as unholy as accidentally brush fingers again he was going to combust.

It didn’t help that Luffy immediately decided this meant they were best friends now and started calling them a “team.” Nami looked between them once and muttered something about “repressed idiots” before stealing Zoro’s last beer. Usopp made a bet with Franky about how long it would take them to “kiss or kill each other.” Robin watched it all like a person being handed a very messy novel for free.

But Sanji?

Sanji did nothing.

Said nothing.

Asked nothing.

The favor just... loomed. Like a sword hanging by a thread. Like an itch between Zoro’s shoulder blades. Like a countdown to a disaster Zoro knew he wouldn’t recover from.

And then.

Then it happened.

Late one night, after another fight with marines and one too many beers, Zoro stumbled into the galley looking for leftovers. He had blood on his forehead, his bandana stuffed in his pocket, and exactly zero brain cells available.

Sanji, for some reason, was still awake. Shirtless. Hair tousled. A towel thrown over his shoulder and a drink in one hand. He looked up from a notebook—Zoro was pretty sure it was a recipe, not that he cared—and smirked.

“Took you long enough,” Sanji said.

Zoro blinked. “The fuck are you doing awake?”

“I could ask you the same,” Sanji said, setting the drink down. “But actually... I was waiting for you.”

Zoro’s stomach plummeted.

No. No, no, no. This was it.

Sanji stood. Walked over. Slowly. Lazily. Like a jungle cat who knew the meal wasn’t going anywhere. He stopped in front of Zoro, close enough to smell like smoke and citrus and murder. He tilted his head, a mockery of innocence in every line of his body.

“Remember the bet?” he asked softly.

Zoro’s throat clicked when he swallowed. “Yeah.”

Sanji leaned in.

Zoro didn’t move.

Sanji smiled. “Then I want you to do one thing for me.”

Zoro nodded, heart pounding like a war drum.

“Anything,” he said. A vow. A death sentence.

Sanji’s grin was feral.

“Tell me what color my eyes are.”

Zoro stared.

Stared harder.

His brain stopped. His mouth opened. He realized—horrifyingly—he had no fucking clue. Not even a guess. He had never looked.

And now Sanji knew.

Sanji laughed. Laughed and laughed and leaned against him, breath against his ear, hot and smug and victorious.

“You’ve never looked, have you?”

Zoro said nothing.

Sanji pulled back, still smiling, but gentler now. The kind of smile that could unravel a man.

“Look now,” he whispered.

And Zoro did.

God help him, he did.

They were blue. Not just blue—endless. Blue like oceans he couldn’t map, storms he couldn’t survive, and skies he had never dared to want.

And that, Zoro realized in one catastrophic moment of clarity, was the real bet.

And he had lost. Again.

Zoro didn’t breathe.

Not because he couldn’t, but because he forgot how.

Because Sanji was staring at him with eyes that could unmake empires and undo sailors and make gods fall—and Zoro, for all his hard-earned stoicism and iron-forged discipline, was utterly, unceremoniously fucked.

Blue. They were blue. All this time, Zoro had been looking at him—around him, past him, beside him—but never at him.

And now that he had, he couldn’t look away.

“You’re staring,” Sanji murmured, voice low and half-pleased, half-wrecked.

Zoro barely managed to growl, “You told me to.”

And Sanji—goddamn him, angelic bastard—laughed. Softly. Like sin wrapped in silk. He shifted closer, just enough that Zoro could feel the heat rolling off his skin like a storm front. They were inches apart now. Inches. It might as well have been a battlefield. Or a confessional.

The galley felt impossibly quiet.

Zoro could hear everything: the clock ticking, the slow drip of the faucet, the uneven catch of Sanji’s breath, and the steady pounding of his own heart like war drums in his chest. The air smelled like flour and sweat and lemon peel and smoke and him.

“I didn’t think you’d actually do it,” Sanji said. “Look.”

“I didn’t think you’d actually make me,” Zoro replied hoarsely, and his voice did things. Terrible, beautiful, unspeakable things to the both of them.

A beat.

Then Sanji licked his lips.

And Zoro’s soul left his body.

It was slow, at first. A hesitation. A mutual, unbearable pause. Two warriors circling a final blow. Two idiots on the edge of something so much worse than death.

Zoro leaned forward—an inch. A breath.

Sanji didn’t move. Didn’t stop him.

Zoro’s fingers twitched at his side, aching with the need to grab. To touch. But he didn’t. Not yet. Not when his entire universe had narrowed to the space between Sanji’s mouth and his own.

“You gonna kiss me or chicken out?” Sanji whispered, but the taunt lacked bite. It was all velvet and breath and dare.

Zoro met his gaze, all fire and fury and fuck you, and said, “I don’t chicken out.”

And then he did.

He leaned in and kissed Sanji.

Hard.

Messy.

Like a fight and a prayer and a mistake he was going to make a thousand times over.

Sanji made a startled noise, like he hadn’t expected him to actually do it, like he hadn’t rehearsed this moment in the mirror with flour-streaked cheeks and wet hair and a thousand imagined versions of what Zoro’s mouth would feel like.

He got his answer.

Zoro kissed like he fought—rough, unrelenting, possessive. He kissed like a man drowning who finally figured out how to breathe. He kissed like he was angry at himself for wanting it.

And Sanji? Sanji melted.

His hands, traitorous elegant things, slid up to Zoro’s chest, grabbing fistfuls of shirt like a lifeline. He kissed back, gasping, teeth grazing lips, like he was trying to rewrite the laws of god and man with just his mouth. He arched up into it, half feral, half fuck-it, because if Zoro was going to kiss him like this then yes, yes, he was going to burn for it.

Somewhere in the middle of it, Zoro groaned.

Just a little. Just low and desperate and confused by how good this was.

Sanji’s hand went to his hair. That was a mistake.

Zoro growled.

Sanji laughed into his mouth, delighted, sinful, unbearable.

“You like that?” he whispered against his lips.

“Shut up,” Zoro gasped, chasing after him again, biting now.

“Make me,” Sanji murmured, smug and wrecked and completely unholy.

Zoro shoved him.

Sanji shoved back.

They staggered, stumbled, slammed into the counter.

The kiss broke, but only barely.

Zoro rested his forehead against Sanji’s, panting. His fingers dug into the wood behind Sanji’s hips to keep himself grounded. Sanji’s hands were still in his hair, still holding him like he was something worth holding.

“Fuck,” Zoro muttered.

“Yeah,” Sanji breathed. “That was…”

“Yeah.”

They didn’t move.

They couldn’t.

Eventually, Zoro said, “So that was the favor?”

Sanji snorted, resting his head on Zoro’s shoulder now, dangerously close to nuzzling. “Oh, no. That was free. Favor’s still pending.”

Zoro swore so violently under his breath he knocked a ladle off the hook with sheer fury.

“You’re the devil.”

Sanji smirked into his neck. “You kissed the devil, then.”

Zoro didn’t argue.

He couldn’t.

Because he was going to do it again. And again. And again.

And the next time, he was going to grab Sanji by the hips.

And that was going to be war.

---

They didn’t talk about it the next day.

Because of course they didn’t.

Because they were them—kissing like a storm tearing through a coastline one night and then pretending it never happened by morning, because emotional maturity was for people who didn’t regularly punch each other in the face out of affection.

Zoro woke up with a crick in his neck, a phantom memory of Sanji’s lips on his, and the deeply unhelpful realization that he was now categorically ruined for all other forms of affection. He glared at the ceiling of the crow’s nest until it glared back.

Sanji, meanwhile, whistled through breakfast prep like he hadn’t just kissed the ever-loving hell out of his crewmate the night before. He made Zoro’s eggs exactly how he liked them and didn’t even insult him once while sliding the plate across the table, which made Luffy drop his fork and Usopp choke on his rice in shared horror.

“...Did he just—feed you?” Franky whispered, squinting.

Zoro didn’t respond. He was too busy trying not to combust.

Nami arched a brow. “Are you guys dating?”

Zoro nearly died.

Sanji winked, which was worse.

Robin looked over her teacup like she was witnessing a spectacular train crash in slow motion. “I give them two weeks before one of them confesses.”

“Confesses what?” Zoro barked, ears definitely not red.

“That he’s in love with you,” Brook said helpfully.

Zoro broke a chopstick in half.

But still—still—Sanji didn’t say it. Didn’t claim the favor. Didn’t even mention it.

And that’s what broke Zoro in the end. Not the kiss, not the eyes, not the goddamn smug grins across the table or the fact that Sanji started “accidentally” brushing past him in tight hallways like he didn’t have perfect control of his body at all times—

No.

It was the waiting.

Zoro was a man of action, not anticipation. If he was going to be tortured, he’d prefer the swords-and-fire kind, not this insufferable foreplay of the soul.

So when Sanji passed him on the way back from the market one afternoon, tossing a casual, “Meet me on the observation deck at sundown,” over his shoulder like it wasn’t a literal declaration of emotional war, Zoro nearly tripped over his own feet.

“What the hell for?” he called after him.

Sanji didn’t turn around. Just waved.

Zoro wanted to scream.

He made it, of course. Because he was stupid. Because he was doomed. Because he had no self-preservation instincts whatsoever when it came to blond chefs with legs for days and voices like velvet sin.

Sundown on the Thousand Sunny turned the ship gold. Everything was washed in light like it had been painted with honey and fire. Zoro found Sanji leaning against the railing, one foot crossed over the other, cigarette in hand, looking like he’d walked out of some dream where heartbreak was fashionable and desire wore designer cologne.

“You came,” Sanji said, not looking at him.

“You asked,” Zoro replied.

Sanji smiled faintly, still staring at the horizon. “You’re punctual. Never would’ve guessed.”

Zoro rolled his eyes. “You gonna ask for your damn favor now or what?”

There was a pause.

And then Sanji said, very softly, “Yeah.”

Zoro tensed.

Sanji turned.

And for once, once, he wasn’t smirking. Wasn’t teasing. His eyes were stormless—blue and clear in the fading light, like the sea finally deciding to be still.

“I want you,” he said.

Zoro blinked. “...What.”

“I want you,” Sanji repeated. “That’s the favor.”

Zoro stared at him.

Sanji took a drag from his cigarette, exhaled it into the wind, and added, “No take-backs.”

Zoro didn’t move. Didn’t breathe.

“That’s not—” he began, and his voice cracked like a ship in a typhoon. “You can’t just—me isn’t a favor, dumbass, that’s—”

“Then say no,” Sanji said, watching him.

Zoro’s heart pounded like war drums in his ribs.

“I can’t,” he said. It came out strangled.

“Why not?”

“Because I want you back, you bastard,” Zoro snapped.

And then he kissed him again.

It was different this time.

Slower. Hungrier. Not a challenge, not a power play, but a surrender. Zoro curled a hand into Sanji’s shirt, dragged him close, and tilted his head like he was trying to memorize the shape of his mouth. Sanji melted into him like he’d been waiting his whole life to be caught.

Fingers slid into hair. Hips slotted together. Mouths opened—hot, wet, seeking.

Zoro groaned.

Sanji gasped.

The sun slipped behind the sea, and they were cast in gold and shadow, alone in a world built for this moment and this moment only.

Sanji’s hands found the small of Zoro’s back.

Zoro deepened the kiss, chasing more, always more, like a man who’d finally stopped pretending he wasn’t starving.

When they pulled apart, it wasn’t far. Just enough to breathe.

Zoro rested his forehead against Sanji’s, panting.

Sanji’s voice was wrecked when he whispered, “So. Was that a yes?”

Zoro laughed, hoarse and warm and unbelievably real.

“Yeah,” he said. “That’s a yes.”

And then, quieter—

“You still owe me breakfast tomorrow.”

Sanji grinned.

“I’ll bring it to bed.”

Notes:

Hope you enjoyed! Oh how I enjoy my idiots in love! They're so stupid and gay and I just love them.

I'm posting Zosan content on a semi-regular basis, so if you want to stay updated on what I post for then, please consider subscribing or bookmarking the series. I have another Zosan oneshot coming up in like two weeks? Maybe?

You can find me on Bluesky ( @the_wild_poet25 ) and on my new Twitter account (the_tamed_poet) if you want to connect. I'm also on Discord too!

The comment section also works—feel free to leave a comment! :)

Series this work belongs to: