Posting ZS here bc I'm not brave enough to do so in twt (x). I'll leave the song here. This is based off on Zoro & Sanji's relationship in askblog which both mine and my friend's have been on hiatus for way too much time lmao.
Anyway, here it is. I may share bits of these specific ZS' doodles in the future if anyone wants to ✨
Zoro realizing he actually really likes when Sanji snarks and insults him... maybe he overhears him insulting someone else and gets a little jealous and has no idea what that feeling is... just totally unaware of how much they've actually been flirting without realizing. LOVE your characterizations, especially Zoro.
snarking is a love language fr <3
x
The market smells like everything at once.
Salt off the harbour, sharp and clean. Fish guts and tar from the docks. Sweetness from pyramids of sun-warmed fruit. Spice smoke curling from skewers on little braziers. Too many bodies packed too close under faded awnings, everyone talking like their voice is the main attraction.
Zoro’s got three crates stacked in his arms and a fourth wedged under one elbow, edges biting into his skin through his shirt. Sanji had called it efficient load-bearing. Zoro had called it bullshit. Somehow, he’s still the one carrying them.
“You know,” he mutters, hitching the crates higher. “There’s this ancient invention. Two wheels. Handle. Cart.”
Sanji’s walking backwards in front of him, weaving through the crowd like he’s got eyes in the back of his stupid blonde head. His blazer’s slung over one shoulder, shirt sleeves rolled, tie loose, infuriatingly at home in the chaos. “And deprive you of the chance to build character? Tragic. Besides, you’re always saying you’re good with heavy things.”
“I meant swords.”
Sanji’s eyes flick over the crates, blue and sharp. “And yet here you are, bonding with turnips. Look at you! Growth and extra Vitamin C.”
“Don’t need it,” Zoro grunts. “I’ve got steel.”
“Steel doesn’t stop scurvy, dumbass.”
“Steel stops anything if you swing it hard enough.”
Sanji’s laugh gets lost in the noise of the crowd; they move like they always do on supply runs, with Sanji half a step ahead, drawn toward anything that smells like ingredients and Zoro trailing behind like a surly pack animal, occasionally redirected with a hand to his sleeve or a short shove at his shoulder when he starts drifting the wrong way.
Their bickering loops between them easily, familiar as the weight at Zoro’s hip. A stall piled high with figs and dripping honey pastries makes Sanji brake without warning and Zoro’s too focused on not clotheslining a random kid with his crates to anticipate it; he plows right into Sanji’s back. The top box knocks into Sanji’s shoulder, wobbling.
“Oi,” Sanji laughs, reaching back automatically, palm flat against Zoro’s chest to steady both of them. “Watch it. You trying to kill me with produce now?”
The contact is brief – just a warm hand, fingers splayed over his sternum through thin cotton – and gone before Zoro can do anything about it but his breath still catches like it forgot its line.
He adjusts his grip again, scowling, ignoring the weird echo under his ribs. “I’m trying to get this over with. You’re the one sightseeing.”
“I am curating,” Sanji corrects, peering at the pastries with a critic’s disdain. “None of you heathens appreciate the difference.”
“Luffy appreciates anything edible.”
“That’s the problem.” Sanji sighs, tragic. “We're trying to elevate his palate, not encourage him to eat the table.”
Someone at the stall says something about pretty ladies and first taste free and Sanji lights up like a neon sign, immediately pivoting into some overblown, leg-swooning performance. Zoro tunes most of it out, knowing it’s just words like whipped cream, all sugar and no weight. It’s background noise. What isn’t background noise is the way Sanji turns back a moment later, grin sharp and satisfied, clearly waiting to see if Zoro will complain.
“Admit it,” Sanji says, folding his arms, weight balanced easily on one leg. “You’d be lost without me.”
“You talk too much,” Zoro mutters, a little rougher than he means to.
Sanji’s mouth curls. “Wow, cutting as always. Really getting some new material in there.” He flicks ash onto the cobblestone and saunters away toward the next row of stalls, fully expecting Zoro to follow and Zoro… does.
The crowd swallows them again: vendors shouting special offers, gulls screaming overhead, kids darting between legs. The sun sneaks in strips between awnings, hitting Sanji’s hair every few steps, turning it bright at the edges. The crates dig into Zoro’s arms to the point where his shoulder aches so he fixes his glare on the back of Sanji’s head, focuses on the familiar swing of his shoulders, the stupid little kick in his walk like he’s keeping time to some song only he hears.
Sanji tosses a comment over his shoulder about finding decent saffron on a backwater island like this. Zoro grunts an answer that might be words or a threat and the market swirls on around them, noisy and bright and ordinary.
The spice stall turns out to be nearly impossible to miss, draped in violent strips of cloth, every shade of red and gold like someone’s skinned a festival and nailed it up. Open sacks spill mountains of colour across the planks and the air’s so hot with scent Zoro can almost taste it on the back of his tongue.
He stops when Sanji stops, baskets biting into his forearms, handles digging hot little grooves into skin. He shifts his grip, annoyed at the weight, annoyed at the crowd, annoyed at everything. “Five minutes, in and out.”
Sanji already sliding sideways into shape, elbow on the counter and hip cocked, posture loose and lazy like he’s got nowhere else in the world to be. Zoro recognises the stance; it’s the one he uses when he’s about to talk someone out of their wallet and into a smile.
The stallholder straightens like he’s been waiting all afternoon for this exact idiot to appear. “Well, if it isn’t trouble.”
Sanji’s mouth curves, slow. “If it isn’t overpriced.”
“Bold words from a man who smells like butter and arrogance.”
“Careful,” Sanji warns, picking up a jar and tipping it, letting the contents slide against the glass. “I’m pretty decent with a knife.”
Zoro shifts his grip again, sweat sliding under his haramaki. He clears his throat but no-one looks at him.
“These chilies are too dry,” Sanji continues, rolling one between thumb and forefinger. “You storing them under your ego?”
The stallholder throws his head back and laughs. “And you always this cruel to strangers?”
“Only the pretty ones.”
It hits Zoro like a punch from nowhere, something hot and mean sliding under his ribs and digging in. He takes a step closer, shadow falling over part of the stall. “We need rice,” he says, clipped.
Sanji waves him off without turning. “In a minute.”
The stallholder leans forward on his elbows, clearly enjoying himself. “Your friend’s impatient.”
Sanji flicks a glance back, that little sideways look he gets when he’s about to be a dick. There’s a smirk already at the corner of his mouth. “That’s his natural state.”
Zoro feels it then – an ugly, constricting knot under his sternum.
Sanji’s voice has gone into that register he uses when he’s having fun, all sharp and warm, attention focused like a spotlight. Zoro’s used to that being aimed at his face, his swords, his mistakes. Insults sparking off his skin like flint, the two of them circling, snapping, snapping, snapping.
This isn’t that. This is Sanji choosing someone else to light up.
“These saffron threads,” he drawls, lifting another jar up to the greenish awning light. “Fake.”
“They’re authentic.”
“They’re offended.”
The stallholder presses a hand to his chest. “You wound me again.”
“Try recovering.”
Zoro’s teeth grind. He takes another step forward. “Curls,” he says, warning baked into it but there’s nothing, not even a flick of an eye this time.
The stallholder’s gaze skates over Zoro and away, just like that. Background noise. Pack mule. Extra. “So, chef, what d’you want?”
Sanji leans in just a little closer to the counter, the hairs at the back of his head catching the light and Zoro hates that he notices. “I want spices that don’t lie to me.”
“I never lie.”
“You just exaggerate.”
“Only when I’m impressed.”
Zoro’s fingers dig deep into the basket handles until the wicker bites and his forearms burn. The heat behind his ribs crawls up his spine, sharp and irrational, this sense that there’s a fight he’s not allowed to step into. His brain, unhelpful, supplies a flash of the galley: Sanji snarling at him over a cutting board, flour on his cheek, eyes bright as he tells Zoro he’s doing something wrong. The spark in that. The way it always, always feels personal, specific. Now there’s that spark again but pointed at some stall clown in a loud vest and too-bright smile.
Zoro suddenly, violently, hates that guy’s teeth. He snaps: “Are you done flirting or are we sleeping here?”
Sanji finally turns, eyebrows arching under the hair that falls across one eye, that stupid little curtain he never pins back. “What’s your problem?”
“My problem is you forgetting why we’re here.”
The stallholder laughs, open and easy. “Relax, swordsman. He’s just talking.”
Sanji’s smile flicks even sharper. “Yeah, try it sometime.”
That lands clean and hard, right under Zoro’s ribs; his breath misfires. talking isn’t what i’m bad at, he wants to sneer. It’s talking like Sanji. It’s saying shit that makes people’s faces do that. It’s knowing to stand, where to lean, how to tilt his voice so strangers light up.
It’s not that he can’t, it’s that he doesn’t and apparently people notice.
The stallholder slides a little pouch across the wood, string, stamped paper label, the whole thing smug. “On the house. For entertainment.”
Sanji accepts it with a grin that Zoro has seen a hundred times and never on someone else. “See, Mossy? You are useful.”
Zoro feels something in his chest go quiet and cold, like a wound crusting over too fast and he just – steps back. Doesn’t say he’s leaving or bark an order, doesn’t wait to see if Sanji follows.
He just shoulders past a kid with a bag of oranges and pushes into the river of the market crowd, lettint bodies close around him. Voices, colour, smell – fish, sweat, engine oil, sugar – hit him all at once but none of it sticks. His focus has narrowed down to a hot, jagged line of thought that doesn’t feel like him. He stalks past stalls and noise and hands waving samples in his face. Someone tries to sell him knives but he glares hard enough that they blanch and look away.
The ship comes into view sooner than he expects, sweet figurehead smiling at the horizon, gangplank pulled up just enough to deter idiots. Zoro trudges up and drops the baskets by the rail harder than necessary, stomping over to plant his hands on the railing and lean forward into the sea breeze. His chest heaves like he’s just gone ten rounds instead of walking home and muscle memory wants to call it a battle high but it isn’t. There’s no clean edge to it, no satisfaction, just this awful buzzing under his skin that refuses to settle.
The longer he stands there, the madder he gets. The sea wind whips at his hair and the ship rocks under him in that slow, lazy way she has when there’s nothing on the horizon, normally so grounding. Today, though, it feels like someone tugging a rope he’s already halfway strangled himself with.
Nothing stops the loop in his head.
The stall. The idiot with the spices. Sanji’s mouth, curved sharp and pleased and aimed at someone else.
“Idiot,” Zoro mutters and he’s not sure which of the three he means. but it kinda scrapes his own throat on the way out regardless.
Feelings, for him, have always come in three flavours: hit it, ignore it, or drink until it stops mattering. Efficient. Simple. If it isn’t in one of those piles, it doesn’t exist. Whatever this is keeps slipping out of his hands so he does what he knows and lines it up like a problem: Sanji’s loud, always has been. Sanji flirts, always has. Sanji treats the whole world like it’s standing outside his restaurant, waiting to be fed and yelled at.
Always. Has.
So why the hell did today feel like a punch to the gut?
He’s seen Sanji lay it on thick with waitresses, princesses, random women on docks. Hearts in his eyes, stupid poetry, hands pressed to his chest. Zoro’s rolled his eyes, maybe grumbled then gone back to training because it’s fake. Everyone knows it, Sanji included.
But at that stall… there had been no show. No gushing, no swooning. Just Sanji leaning in with his voice sharp and warm at the edges, grinning like he meant it. All that back-and-forth, insult and counter, the exact rhythm Zoro’s used to catching with his teeth and throwing back. Except this time Zoro hadn’t been in the conversation at all. The laugh that came out of Sanji hadn’t been for him.
He grinds his molars until his jaw aches. “This is stupid,” he tells the ocean and the ocean keeps breathing, utterly indifferent.
He drags both hands over his face, thumbs pressing hard into his eyebrows like he can knead the whole thing out of his skull but it doesn’t move. Everytime he blinks he sees Sanji’s hand brushing the guy’s when he took the pouch. Sees Sanji not flinch, not snarl, just… letting it happen..
Something ugly and tight shifts under his ribs and he hates it.
Bootsteps hit the gangplank behind him, sharp and irritated and very, very familiar. Sanji walks like he’s late to yell at someone. The thud as the sacks hit the deck’s enough to make a seagull take off from the figurehead.
“You just left,” he snaps, not even bothering with hello. His voice is frayed at the edges, exhausted and furious. “D’you have any idea how much I had to carry by myself?”
Zoro thinks good, he’s pissed too.
Zoro can work with anger. When he does turn the words come out sharper than he planned. “You seemed occupied.”
Sanji’s eyes go flinty. “Occupied doing my job?”
“Looked like you were auditioning for island idiot of the year,” Zoro bites out.
There’s a flash of something hurt and raw before Sanji’s expression slides over it with anger. “Excuse me?”
The rope in Zoro’s chest pulls tighter and it’s good, some vicious part of him thinks, because if he has to feel this weird then Sanji does too. “You heard me, all smiles and mouth and attitude. You looked ridiculous.”
“That’s literally my personality, moss-for-brains.”
“Well maybe your personality sucks today.”
That one lands. Zoro sees it hit in the the brief tremor in Sanji’s jaw and the way his shoulders jerk like someone’s just drove a nail through his spine. His voice comes out wearing the tone that usually means someone’s about to leave with fewer teeth. “You wanna run that by me again?”
Zoro should stop. This is the point where, in a spar, he’d pull a hit instead of driving it home but this? This isn’t a spar. He doesn’t know what it is. He only knows he’s so full of this sour, stinging feeling that if he doesn’t pour it out on something he’s going to fucking drown in it.
“You’re loud,” he snaps, shoving words into the space between them like knives. “You don’t shut up. You flirt with anything that breathes and then act like it’s everyone else’s fault.”
Sanji laughs once, sharp and completely humourless. “You’re mad because I talked to someone?”
“I’m mad because you wouldn’t shut up!” Zoro fires back and, sure it isn’t the whole truth but it : the only piece that sounds like a real complaint.
“That’s rich coming from the man who gets lost walking in a straight line,” Sanji spits as he takes a step into Zoro’s space, shoulders squared and eyes blazing. “God forbid someone in this crew has basic social skills.”
“You call that social skills?” Zoro barks. “You were two seconds away from crawling over the counter.”
“I was negotiating!”
“You were showing off.”
“So what if I was?”
There it is, there’s the question he’s been choking on since the market. So what if he was? Sanji can do whatever he wants. Talk to whoever he wants and laugh at whoever he wants. It shouldn’t matter. It sure as hell shouldn’t feel like someone stole his favourite sword.
The real answer claws up his throat – because it wasn’t for me – and he slams the door on it so hard his ribs hurt. “It was embarrassing.”
Sanji stares. “For who?”
“For me,” Zoro snarls, without thinking and this time they both freeze.
A seagull cries somewhere above and the Merry creaks and, between them, the word hangs, ugly and naked.
“Why the hell would it be embarrassing for you?” Sanji demands. “Last I checked you were busy pretending I don’t exist.”
“Because you’re ridiculous,” Zoro snaps, doubling down. If he stops now he’ll have to think and he can’t – he can’t do that. “You act like the whole world’s a stage and you need an audience.”
Sanji’s mouth curls, mean. “Yeah? Better a stage than a rock. At least I’m doing something.”
“I’d rather be a rock than a damn street performer,” Zoro spits back. “The way you were draped all over that counter? You looked like you were willing to sell yourself for a discount.”
The words are out before he can catch them and Sanji jerks like Zoro actually hit him, colour dropping clean out of his face before it floods back in a violent red. “Say that again,” he says, very softly.
Zoro’s lungs burn. “That’s what it looked like.”
“Because your eyes don’t work!” Sanji explodes. He steps in, chest almost touching Zoro’s, jabbing a finger hard enough into his sternum that Zoro rocks back half a step. “I was working. I was getting us decent ingredients in a back alley tourist trap run by a con artist. That’s called doing my job, you absolute asshole!”
“You were leaning over the counter -”
“I was leaning over to check the quality, you fucking idiot!” Sanji yells, loud enough that his voice almost – almost – cracks. “I’m sorry I don’t negotiate with my fists like you do!”
“You weren’t negotiating with your brain either!” Zoro shouts back and there it is, something inside him snapping. He can feel his voice rising, words tumbling out hotter and less controlled than any sword swing. “You were too busy batting your eyes and giggling like some -“”
“Oh, fuck you,” Sanji snarls, actually shoving him now. “You don’t get to call me stupid because my skillset doesn’t involve headbutting problems.”
“It’s not stupid when you do it with women?” Zoro throws back and Sanji blinks, caught off guard for half a second. “You pull that hearts-in-your-eyes crap on every girl we walk past and I’ve never seen you lay it on like that! You were actually laughing.”
“So what if I was laughing?” Sanji demands. “You want to put me on a quota? Sorry, Mosshead, I only laugh with women, please consult my schedule before I speak to a man in your vicinity -“
“That’s not what I -“
“You get punched in the head one too many times and suddenly anyone enjoying my company’s a fucking crime?”
i enjoy your company, Zoro’s stupid brain supplies, unhelpfully but he shoves it down.
“You were enjoying his company,” he snarls instead.
Sanji stares at him like he’s lost it. “Yeah, that’s how conversation works, you barbarian.”
“It’s not how it works with me,” Zoro snaps, and his temple is throbbing. His throat feels raw. He never yells like this, not at Sanji, not at anyone. Sparring, sure. Insults, sure. This is different. This feels like he’s been holding his breath for hours and only just realised it.
Sanji’s eyes widen, just a fraction. He reels back like Zoro hit him again, but this time it’s not anger in his face, it’s something blurred and startled that Zoro can’t stand to see.
“Well newsflash,” he snaps, armour slamming back into place. “The whole fucking world doesn’t revolve around your schedule. Sometimes people talk to me because I’m useful or because they like me. Maybe, just once, it’s not about you and your bruised ego!”
“Guys!” Nami’s voice cuts in sharply and they both whip their heads around. She’s standing a few paces away, hands on her hips and eyes like sharpened glass. Her expression is murderous.
“Stay out of it, Nami,” Zoro snaps automatically.
“Yeah, this is between me and the walking bush,” Sanji adds.
“Wrong,” Nami says crisply, marching right up into the blast radius. “You’re on my ship, screaming like seagulls with head trauma, and I can hear you from my damn bunk so now it’s my business.”
Zoro realises, distantly, that his hands are shaking again. He curls them into fists so hard his knuckles pop. “He started it.”
“Don’t you dare,” Sanji snarls at the same time. “He basically called me a fucking whore for getting a good price on saffron.”
“Both of you, shut the hell up!” Nami snaps, voice cracking like a whip and they shut the hell up.
Sanji’s staring hard at the boards now, teeth sunk into his cigarette filter, jaw jumping. There’s a flush on his cheekbones that Zoro can’t tell is anger or humiliation or both or nothing or –
Nami sighs, pinching the bridge of her nose. “Okay, timeout. Sanji, go cool off. Take a shower or whatever. Zoro… you don’t leave the deck until you stop looking like you want to stab yourself with your own swords out of sheer emotional incompetence.”
“I’m fine,” Zoro grinds out.
Never one to disobey Nami, Sanji clicks his tongue and turns on his heel. The sacks creak as he hauls them back up. For a heartbeat, Zoro thinks – hopes? dreads? – he might look back but he doesn’t. He disappears down the hatch, smoke and hurt trailing in his wake and Zoro’s fingers curl like they miss the weight of a sword.
“What the hell, Zoro?” Nami scowls from behind him. “You’re not usually so damn stupid.”
“He was acting stupid.”
Nami comes to lean on the rail beside him, casual, like they’re just admiring the view. Her bracelets clink softly when she folds her arms. “He was shopping.”
“He was flirting.”
“So?”
He cuts his gaze over, to where the morning light throws sharp lines across her face. Her eyes glitter, already too knowing for his comfort. “So he doesn’t do that with everyone.”
She raises an eyebrow, delicate. “Yes he does.”
“No,” he shoots back, that awful, certain word jumping out before he can soften it. “He flirts with women.”
Nami stares at him for a long beat. The wind lifts a strand of her hair; she tucks it behind her ear, still watching him. “How’s that different?”
He opens his mouth but nothing comes – it’s like trying to explain a stance when all you’ve ever done is feel it. The words just don’t line up. He gestures, frustrated, like the answer is hanging in the air just out of reach. “When he talks to women it’s all stupid hearts and stupid poetry. When he talks to me it’s…” He stops, because the rest of the sentence feels like stepping off a cliff.
Nami’s eyes brighten, the way they do when she’s just spotted a profitable trade or a powerful secret. “Oh, so you finally recognised it.”
Zoro stiffens. “Recognised what?”
“The way he flirts with you.”
The words land like a falling mast: Zoro’s body reacts before his brain can, heart slamming against his ribs, breath stuttering, heat crawling up the back of his neck like someone just dumped boiling water down his spine. “That’s not – no. He hates me.”
Nami crosses her arms tighter, hip bumping the rail. “Then why does he only talk like that with you and people he’s interested in?”
He can feel his teeth grinding, can feel the pain that shoots up his jaw and it’s still not enough to ground him. “He talks like that because I piss him off.”
Nami presses. “And whatever poor guy's been dragged into this mess?”
His mind flashes back against his will: Sanji leaning on the counter, posture loose. Sanji’s eyes lit up and mouth curling around only the pretty ones with that infuriating little smile. The exact way he does with Zoro when they’re two seconds from trying to kill each other for fun. His chest tightens, painfully.
“That was different,” he insists, but the protest sounds thin even to his own ears.
Nami’s expression gentles around the edges, victory wrapped in real concern. “Zoro… you realise this is what jealousy looks like, right?”
Zoro’s stomach drops like he’s missed a step on an invisible staircase and now there’s nothing but air. “No,” he says immediately, too fast. “No, it’s not.”
“Then what is it?” she asks, maddeningly calm.
“I don’t know! But it’s not that.” He turns away from her fully now, putting his shoulder between them like a shield, both hands braced on the rail. The metal is cool under his palms, grounding and completely useless.
“He’s annoying,” Zoro says, like listing Sanji’s flaws will pull him back into safer territory. “Loud. Smokes too much. Picks fights when he’s bored. Kicks me awake. Smells like garlic and those stupid fancy soaps.”
“And?” Nami prompts, unrelenting.
“And he shouldn’t be doing that with other people,” Zoro snaps.
She blinks, slowly. “You hear yourself, right?”
He swallows, throat dry because he’d gotten used to it, without even noticing, has built invisible routines around it. Morning insults over coffee versus midday arguments over training, Sanji’s voice in his ear during storms, sharp and steady. All of it, constant as the sea. And then in the market, that same tone – sharp and playful and interested – turned somewhere else. The stallholder just got a piece of something Zoro hadn’t even realised he’d quietly started thinking of as his.
His grip on the rail tightens until his knuckles ache. “This's stupid,” he mutters but it sounds more like surrender than denial now.
Nami studies his profile, the tense line of his jaw, the way his shoulders are braced like he’s taking a hit. “If it’s stupid why does your face look like you just watched him jump ship?”
“I don’t want anything from him,” he insists blindly, automatically, the first words that jump into his mouth. He doesn’t even really know what he means – what’s to want, really?
She tips her head, fox-like and curious. “Nothing at all?”
His mouth opens and, like a fucking traitor, his brain serves up a list. He wants the mouth aimed at him again, sharp and bright and right there. He wants Sanji’s eyes back on him, not some stranger with a spice stall and nice cheekbones. He wants that glint that says fight me and keep up and sometimes, very rarely, good job. He wants Sanji on his side of the board, not wandering off to play with someone else.
He clamps his teeth shut.
Nami’s blatant curiosity morphs into something less sharp before his eyes, something gentler, maybe. Like she’s trying to meet him somewhere. “Okay, let’s play a game of hypotheticals. Ready?”
“No.”
“Too bad.” She folds her arms on the rail, her gaze drifting to the horizon, voice gone almost casual. “What if the guy you're yelling about had, I dunno, kissed him?”
The question hits like a punch to the lungs and for a split second his mind goes there, against his will – Sanji’s mouth tilted up to the stallholder’s, fingers still wrapped around a jar of saffron, laughter swallowed into somebody else’s teeth – and Zoro’s whole body spikes hot and cold at the same time. His jaw locks. “I’d cut him in half.”
Nami’s smile is all teeth. “Oh? Which one?”
He grinds out: “Both of them.”
Her eyes flick to him, glinting. “Yeah, not really how most people react when their friend gets kissed.”
“He’s an idiot,” Zoro snaps. “He’d probably fall for some smooth-talking moron and get himself killed.”
She hums. “We’re pirates. Every crush is a risk.”
His pulse stutters at crush because, god, does he hate that word. It’s always sounded like such a stupid concept and right now it feels too small and insignificant compared to the big, dumb, unwieldy thing chewing through his chest.
Nami leans a little closer. “Okay, let’s try this one on for size. Imagine Sanji flirting with guys the way he doesn’t with women, the way he flirts with you. All that attention, all that… focus.”
He can see it too easily: Sanji’s weight slanted toward someone, any someone, giving them that full blast of hands being busy and mouth being quick and eyes being bright and locked. Sparring but with compliments instead of kicks. His grip on the rail creaks and breathes in, sharp. The air tastes like salt and rust and something bitter inside his own mouth.
“That’s jealousy, Zoro,” Nami says quietly. “Wanting something someone else is getting. Wanting it to be you instead.”
His hands are shaking again, tiny tremors that travel from knuckles to elbows. He stares down at them like they belong to someone else. “It’s not –”
“Oh, come on,” she says, sharper now. “If that guy had touched him, what would you have done?”
“Cut his hand off.”
“If that guy had made him laugh like that?”
“Thrown him overboard.”
“And if that guy had taken him into an alley?”
“Found the alley,” Zoro snaps, voice low and dangerous. “And burned it down.”
Nami lets that hang there, heavy and smoking. Her face is perfectly impassive. “Right. And you don’t want anything from him.”
He wants to argue. He wants to say that’s different except somehow it keeps not being different. He thinks of Sanji beside him in storms, cigarette ember bright in the dark, of the way Sanji’s eyes find him in a fight, quick and assessing, like he’s checking a piece of essential equipment. Of the way his shoulders drop a fraction when Zoro walks into the galley late at night and just sits there while he cooks.
His voice comes out rough so he clears his throat and tries again. “I’m used to him talking to me like that.”
“And you like it,” Nami suggests gently. “You don’t know what to do with it, maybe, but you like it.”
He glares at her. “You’re enjoying this way too much.”
“Am I?” she says, light but not unkind. “Or am I just watching you finally catch up to what the rest of us have been seeing for months?”
His head snaps toward her. “What?”
She smirks. “You really think nobody noticed the way you two orbit each other? The way the whole ship feels when you’re going at it? The only surprising thing is that you’re surprised.”
A wave slaps the side of the Merry, spray lifting in a cool kiss of mist and Zoro’s skin feels hot under it as he drags a hand down his face, fingers catching on his earrings. All he can hear is the unwelcome sound of his own heart pounding every time his brain replays Sanji leaning on that stall and giving someone else that look.
Nami pats his arm, surprisingly gentle. “You don’t have to figure all of it out tonight. Just… maybe stop lying to yourself about why it sucks. And try not to stab anyone over it until you’re sure you mean it.”
She heads back toward the galley, leaving him alone with the rail, the sea, and the heavy, infuriating knowledge sitting in his chest but Zoro stays there a long time, breathing, listening to the Merry move through the water and the faint sounds of life below deck.
Sanji with women he recognises. That’s a script he’s watched a hundred times. Bar stool, barmaid. Dock, pretty passerby. Market, bored shopkeeper’s daughter. It’s all the same: Sanji’s eyes go heart-shaped, his voice gets syrupy, his body tips just that fraction closer. Compliments like machine-gun fire. Pet names that sound like he pulled them out of a hat, big gestures and theatrical sighs. Offers of coats, chairs, the whole damn ocean, probably.
And every single one of them bounces.
The women smile, roll their eyes, humour him. Sometimes they slap him. Sometimes they flirt back, but it’s shallow, harmless. Not real.
And Sanji – well. He never leaves with any of them. He never disappears down an alley or follows anyone into a room and comes out looking changed. He flirts, he gets yelled at, he simpers, he gets hit. Then he’s back on the ship, cigarette in his mouth, bitching about ingredients like nothing happened. It’s background noise, now. A bit. A routine.
It’s safe.
Zoro leans more weight onto his arms, staring down into the black water until it fuzzes at the edges.
Sanji had leaned on the stall like he owned the street. Elbow down, posture loose, mouth sharp. He’d thrown jabs, not roses. Every line had teeth. Every smile had edge and his eyes had been interested, not glazed over in that dumb Nami-swan way. And the guy hit back, not like the women do, rolling him off with a flick but like he was sparring.
Zoro remembers the quick flash of Sanji’s grin when the guy called him trouble. That real grin, the one that shows up in fights and in the galley, the one Zoro secretly files under mine even if he’s never put it into words before.
He’d seen that smile turned outward. Away from him.
To be fair, heMs never actually thought about it before, the idea that Sanji could want someone, enough to go past the routine and drop the stupid gushing act. Enough to use the real parts, his sharp brain and quick tongue, that disgusting amount of attention he gives to things that matter to him… enough to aim them at somebody who wasn’t crew, wasn’t safe.
He can’t put language to it, but that’s the splinter under Zoro’s skin: not just that Sanji was flirting with a guy but that, for the first time, Zoro’s dumb lizard brain went oh. He actually could want someone.
He grinds his teeth, annoyed at the thought and more annoyed at himself for thinking it. Jealousy. The word feels too small and too fucking slimy for the thing in his chest, but he can’t quite kick it away either. There’s no other word for i don’t want him looking at anyone else like he looks at me.
He runs through it again, trying to prove himself wrong, imagines Sanji with him on deck, in the galley, shoulder-to-shoulder at the rail during watch, insult for insult and spark for spark. That knife-flash grin and that same sharp attention, like Zoro’s a problem worth his full focus. His stomach twists, rough, because if the way Sanji talked to the stall guy looked like what Sanji does with him –
Then what the fuck does that make what they do?
Worse: he hates the way some treacherous corner of his mind keeps circling a different image entirely, Sanji leaning in like that across a counter, but it’s not a stranger there. It’s him. Half a step too close, breath warm, mouth still sharp but smiling right into Zoro’s teeth.
Zoro jerks his head, like he can shake the picture loose.
“No,” he mutters to the empty deck. “Absolutely not.”
The sea doesn’t answer.
He pushes himself off the rail, rolling his shoulders out like he’s been standing guard too long. He tells himself tomorrow he’ll be normal. He’ll insult Sanji’s cooking. He’ll pick fights. He’ll act like this was just another stupid market day.
He’s a swordsman. He can ignore one stupid feeling. Behind his ribs, though, the wrong, new part of him – the part that clinched when Sanji laughed at someone else – doesn’t believe it for a second. So he does what he’s always done with things he can’t solve: he shoves it down, goes looking for a weight to lift or a monster to cut, and leaves the realisation sitting there, heavy and patient, waiting for the next time Sanji points that sharp, real, interested attention somewhere that isn’t him.
x
The bar they pick for the night is loud enough that Zoro shouldn’t be able to hear his own thoughts, and yet. It’s a packed, half-drowning kind of place, with low wooden ceiling stained by old smoke and lanterns hanging unevenly, walls sweating with salt and spilled beer. Everytime the door opens, a gust of sea air and shouting spills in.
Sanji’s in his element.
He moves around the table like the bar was built for him specifically, swanning to the counter and leaning halfway over to talk to the bartender, palming extra plates, coming back with a tray balanced on fingertips. He’s got his cigarette tucked behind his ear because the bartender’s told him off already and he’s made it a point of pride to ignore the rule without directly breaking it.
Everytime he passes one of the waitresses or barmaids, the volume around them spikes.
“Ah, mademoiselle, you’ll put the stars out with that smile!”
“Your hands look far too delicate to be carrying heavy plates. allow me!”
“I swear I can make something better than whatever swill they’re serving you, just give me a kitchen and five minutes!”
The women giggle or roll their eyes or throw a napkin at his head. A few preen, some swat him away but all of them smile.
Zoro waits for the twist in his gut, that burn he’d felt at the spice stall but it doesn’t come. He just feels… tired. Mildly annoyed. A little embarrassed, the way you get when your idiot friend is doing a bit you’ve seen a hundred times.
This, he knows, is theatre. The compliments are polished and the way Sanji frames his face with his hand is rehearsed. The way he leans too far over the table is exaggerated, asking for a smack or a shove and laughing when he gets it. Zoro has watched him turn it on and off like a tap, stepping into a place and checking for danger, then coating every other sense in perfume and sugar so nobody looks too closely at the knife hand.
It’s not that it’s fake, exactly. It’s just that Sanji himself isn’t in it, not the part Zoro’s learned to recognise, anyway.
“You look less murderous tonight,” Namj says mildly, sipping her drink. “Congratulations.”
Zoro grunts. “He’s just working.”
Nami’s mouth tilts dangerously. “Is that what we’re calling it?”
“He’s not…” Zoro gestures at Sanji, who is currently bowing to a table of older women like they’re royalty. “That. He doesn’t mean that. It’s just noise.”
Usopp leans in, eyes bright. “Hey, hey, is this about Zoro’s little crush?”
Zoro doesn’t even look. He just nudges Usopp’s chair with his foot hard enough to make him squawk and grab the table. Luffy, who has been listening to all of this between bites, tilts his head. “I think it’s nice!”
“It’s not nice,” Zoro snaps.
Three sets of eyes land on him and he purposefully looks away, scowling into his drink. On the other side of the bar, Sanji laughs at something, a startled, unguarded laugh that Zoro knows to be his real one, lower, rougher, full of teeth.
It lodges under Zoro’s ribs.
Because he’s heard that laugh on deck. In the galley. In the middle of an argument that got so stupid they both forgot they were angry halfway through. He’s heard it when Sanji kicks him in the side and Zoro makes a joke about his aim. He’s heard it in the middle of a storm, soaked through, hair plastered to his face, when Zoro bet him five thousand berries he’d fall on his ass first.
He’s never heard that laugh aimed at a stranger before.
That’s our laugh, a traitorous part of him thinks, and he wants to slam his head into the table because that’s insane and wrong and Nami is absolutely going to say I told you so if she ever hears it.
“Bud,” Usopp grins, eyes alight with glee. “Your grip.”
He looks down to where hand’s clenched so tight around his cup his knuckles have gone white and forces his fingers to relax. “It’s fine,” he says.
Sanji chooses that moment to weave back through the crowd, balancing another tray and room seems to bend around him automatically; people shift, make space, like the tide moving around a rock. He drops plates on the table one by one with the flourish of a magician. “Meat for Luffy, something tragic and leafy for Nami-swan, fried heaven for Usopp and a bowl of whatever alcoholic sludge they had left for seaweed-brain.”
Luffy beams. “You say the nicest things!”
They dig in. For a while, the noise of slurping and crunching and arguing about portion sizes fills the air. Zoro eats automatically, muscles remembering what to do, while his brain does what it’s terrible at: it thinks.
Nami’s voice ghosts back: he only talks like that with you and people he’s interested in.
He stabs a piece of meat harder than necessary and, across the table, Sanji’s hand darts out to smack his chopsticks. “Oi, Don’t murder the damn skewer.”
“Don’t tell me how to eat.” Zoro glances up and catches the glint in Sanji’s eye, tiny and weaponised. It’s satisfaction, bright and mean and stupidly pleased, like a cat that’s finally got the canary to twitch. His mouth’s curled too, crooked and smug, nothing pretty about it, all angles and teeth and Zoro knows that mouth. He knows that expression down to the millimetre, exactly how far the right insult can tilt it and how high it can climb, how it looks when Sanji’s really got him, when Zoro falls for something and Sanji lights up like a match.
The jealousy from earlier shifts under his skin, changing shape like hot metal being hammered. It’s still sharp and uncomfortable – still a blade – but the edge turns. It’s not just that he doesn’t want Sanji handing their sparks to someone else but that he wants more of this. More of being the one Sanji turns that real grin on and of being the reason his voice drops with that particular knife-edged fondness he smuggles into insults. More of being the one who makes his pulse jump, who drags that bright, dangerous focus across the table and pins it in place.
The thought slips in uninvited, fully formed and vile: What if he did that and meant it? What if Sanji looked at him with that same bright attention and wanted something with it? Wanted to lean in? Wanted to see what Zoro would do if, instead of an insult, he put his mouth on – Zoro chokes on his sake. It goes down wrong, burns up his nose and he coughs, eyes watering, lungs seizing like he just took a hit straight to the chest.
Luffy yelps and slaps his back, enthusiastic enough to rattle his ribs. “You okay, Zoro?!”
He wheezes: “Fine,” voice shredded and it feels like a lie all the way down.
Nami’s watching him over the rim of her glass like she’s gor front row seats. “Allergies acting up?”
“Shut up,” he grinds out but the thought doesn’t leave. Now that it’s surfaced it multiplies, spreads, hooks itself into little memories and starts stitching them together into something he doesn’t want to look at. What if that quick little smirk Sanji gets when he’s about to say something really cruel was just for him, not for the whole damn table? What if he leaned in close, not to hiss insults in his ear, but just to see how far Zoro would let him come before he broke? What if he did with Zoro what he pretends to do with barmaids and never follows through on?
What if Sanji kissed him?
Sanji’s fingers curled in the front of his shirt, knuckles white because he always overcommits. That relentless mouth, usually so busy running itself, finally shut on something useful. His weight pressed along Zoro’s front, long and hot and real, the scrape of stubble against his upper lip, the sharp little breath he’d make when Zoro grabbed him by the hip, by the waist, by the stupid tie, anything to hold him there –
Across the table, Sanji squints at him, cigarette clamped between two fingers. “You’re making a weird face.”
“This's my normal face,” Zoro snaps a little too fast, a little too defensive.
“Exactly,” Sanji snipes but there’s a tiny furrow between his eyebrows now, like concern trying very hard to hide behind habit. His eyes flick down, pausing for a fraction of a second on Zoro’s mouth before snapping back up like nothing happened.
Zoro feels that tiny detour like someone just scraped a blade along a live wire. His mind, already flailing, throws more fuel on itself: imagines catching Sanji mid-rant. no warning or wind-up. Just reaching out, fisting a hand in the open collar of that stupid shirt and hauling him in. The split second of shock, all teeth and vowels, before Zoro drowns it – before he presses their mouths together hard enough to steal the insult right off his tongue, how quickly Sanji would go from fighting it to fighting with it because that’s what he does with everything. How he’d chase Zoro’s mouth back, furious and bright and unbelievably alive. Hands gripping Zoro’s arms and chest and hips, that sharp tongue saying his name without any insult attached. Just Zoro, low and wrecked.
His heart slams against his ribs so hard it feels like it’s trying to get out. He drops his chopsticks and they clatter against the plate, loud as a gunshot.
“Oi,” Sanji snaps automatically. “Have some respect for the cookware, you gorilla!”
Zoro doesn’t answer. He’s busy pressing the heel of his hand against his sternum, like he can physically shove his idiot traitor heart back where it belongs because he finally, finally understands the shape of the thing digging its claws into his ribs. It’s not just frustration or habit. Hell, it’s not even just jealousy. It’s want, big and stupid and entirely too late, and it’s got Sanji’s name all over it.
x
He stays awake for hours, staring holes into the Merry’s ceiling until the knots in the wood start to look like faces. The ship rocks in small, lazy swells, the kind that usually knocks him out in minutes but tonight it just makes everything worse. Every creak in the beams feels like a thought he hasn’t had yet and every soft slap of water against the hull lands in his chest instead of outside of it. Above him, a lantern throws slow shadows, the shapes of ropes and beams shifting with the sway. He lies flat on his back, hands folded under his head like dead weight, and tries not to think about the moment his brain quietly ruined his life.
It doesn’t make sense and it shouldn’t matter. More importantly, it can’t matter. Sanji is… Sanji. A walking heart-shaped catastrophe, all long limbs and loud opinions, hearts in his eyes for any woman with a pulse. All that dramatic bullshit about a lady’s tears are a crime! and I’ll never let harm come to a woman and the way Zoro’s watched him snap a guy’s spine clean in half for being too rough with a girl.
The thought of liking Sanji – wanting him, wanting his attention, his mouth, all that relentless focus pointed at him for more than a fight – feels like a weapon he doesn’t remember picking up. He tries to handle it like a sword anyway, because it’s all he knows: examine, test the balance, decide if it’s useful.
The facts are there, stark and unavoidable, that Sanji’s a man who likes women and Zoro generally doesn’t even want things from people outside of a good fight. The fact is there’s nowhere for this to go except for the box in his head where he keeps things he doesn’t touch. His first loss to Mihawk lives there, still bright-edged and bitter, sitting with the look on Kuina’s face the last time she beat him. The sound of steel missing flesh by a hair when he wasn’t fast enough. It’s simple, really. He just takes the thing, names it unnecessary, slams the door and hammers it shut and sits on top of it until it stops rattling, he’s good at that. Fuck knows he’s made of that.
He rolls back onto his back to stare up at the ceiling again and imagines putting the feeling in the same box. Sanji, all sharp teeth and smoke, laughing at him and the stupid, humiliating lurch in his gut at the idea of Sanji doing that to someone else.
He lies there, listening to Luffy snore and the faint sound of the sea and feels the emotion slam itself against that imaginary door like something that really, really doesn’t understand the concept of stay.
By the time the sky outside the porthole starts shading from black to deep grey, his eyes burn and his jaw aches from clenching and it turns out that the plan has not made him any less miserable.
He drags himself up on deck like a man climbing out of a bad dream, with his swords still strapped on. The early light’s too clean, air too sharp. The horizon is a knife-edge of silver where the sun’s thinking about starting trouble. The island sits off their port side, white stone and red tile and a smear of colour already waking up along the docks. Seagulls wheel and scream like they’re arguing about who owns which fish.
It should be a good morning. It’s their last day in port. Instead, all he can think is that if he crawled under a pile of weights in the hold and stayed there until they set sail then maybe this feeling would shake loose like sweat.
Sanji’s already in the galley, steam fogging the low ceiling. The clink of plates and the rhythm of Sanji’s footsteps weave together into a kind of domestic battle music. Usopp has one arm braced across the door frame, physically holding Luffy back with the efficiency of long practice. “No, you wait.”
“But Usopp –”
“You’ll get it when Sanji says,” Usopp groans.
Sanji’s in the centre of the chaos like it all orbits him with a pan in one hand and a spatula in the other, moving like he knows exactly where everything is without looking, each motion clean and unhurried.
Zoro’s chest gives an ugly little kick and he hates that he notices how solid Sanji’s forearms look when he flicks his wrist to flip an omelette, muscle shifting under pale skin, tendons sharp. The way his long fingers curl around a handle, knuckles grazing the bench as he sets something down, the casual precision with which he handles knives even when he’s not thinking about it.
Zoro feels the abrupt, hot spike of want that punches through his carefully constructed denial and sits there, bold as anything. He scowls, like that’ll scare it off.
Maybe this, he thinks sourly, is what he gets for letting his guard down in towns. He ignores his surroundings, he gets stabbed. He ignores his own head, suddenly the cook’s stupid neck is interesting.
He shoulders past Luffy and Usopp, grunting something that might be morning and drops into a seat at the table hard enough that the legs squeak on the floor.
“Don’t break my furniture,” Sanji says automatically without turning around.
“Make sturdier chairs,” Zoro mutters.
Sanji throws a look over his shoulder, one eyebrow arching. The sunlight cuts across his face, picking out the faint purple under his eye and the smudge of ash at the corner of his mouth. Zoro’s stomach tightens in a way that isn’t hunger.
“Someone woke up charming,” Sanji drawls. “Lose a fight in your dreams?”
Zoro reaches for a mug. “Just hate seeing your face first thing.”
Something flickers in Sanji’s expression. “Whatever. Food’s almost done. Try not to sulk into it or it’ll curdle.”
He turns back to the stove, flicking his cigarette out the open porthole with a practiced snap, movement that’s all competence and zero wasted effort. It used to irritate Zoro, how smooth he is in here but now it just makes him feel off-balance. He wraps his fingers around the empty mug, eyes fixed stubbornly on the wood grain of the table and reminds himself that he has a plan. It’s a shit plan, sure, but it’s his: keep it down, keep it quiet, keep away from whatever makes it worse.
Too bad Nami has other ideas. The galley door bangs against the stopper, the sound sharp enough to make Zoro’s teeth clench. He looks up from his plate, halfway through forcing down fish he can’t taste, and finds her framed in the doorway with a ledger under one arm and murder in her eyes.
“Good,” she says, clapping her hands once. “You’re both here.”
Zoro’s stomach drops like the ship just hit a trench. Sanji, at the stove, doesn’t turn fully around, but Zoro sees the subtle stiffening in his shoulders. The cigarette between his fingers pauses on the way to his mouth.
“We’re low on staples since someone decided to skip market duty yesterday. We still need more flour and probably more staples. We barely got anything yesterday.” Her gaze slides between them,cool and sharp, calculating, taking in the way Zoro can’t quite meet Sanji’s stare and the way Sanji is stirring the pan like it owes him money. “You two are going back.”
The words land like a thrown knife.
“No,” Zoro says immediately, too fast, fork clattering against the plate.
At the same time Sanji says, perfectly in sync: “Absolutely not.”
They turn on each other like it’s muscle memory, Sanji’s eyes already sparking, storm-blue and furious. Zoro can feel his own hackles go up in that familiar, stupid impulse to meet fire with fire instead of backing down. The air in the galley tightens around them, thick with the ghost of yesterday’s shouting.
Nami doesn’t even blink. “Yes.”
Sanji snorts. “Please. Like I want to spend another afternoon listening to him sulk.”
“I don’t sulk,” Zoro snaps.
“You stomped off,” Sanji says, spinning around fully now, spatula in hand like a weapon. “In the middle of a conversation. With the groceries.”
Zoro’s jaw tightens. “You were the one flirting with half the island.”
The accusation comes out before he can stop it, ugly and raw in the small room and Sanji’s eyes flash, anger flaring up to match. “Oh, we’re doing this again?”
Nami pinches the bridge of her nose, like she can physically hold a headache in place. “Nope, we are not doing this again.”
“You started it,” Sanji fires at Zoro, ignoring her. “Storming off like a child because someone talked to me.”
“You weren’t just talking,” Zoro growls. The heat is back in his chest, that same twisting spike from the market jabbing at his ribs.
Sanji steps closer, chin up, smoke curling sharp around his face. “And what exactly was I doing, then?”
Zoro opens his mouth and the real answers crowd his tongue, useless and impossible: you were laughing, you were looking at him the way you look at me when we fight, you were giving away something i thought was ours. He can’t say any of that.
Nami steps in before he can choke on a reply and both of them fall silent on reflex, months of nakama obedience snapping into place.
“We need food,” she says, slow and deliberate, enunciating each word like she’s explaining arithmetic to particularly stupid children. “Actual food, not just meat and cigarettes. You two are the best options. Sanji won’t let us buy garbage and Zoro can carry half the market without complaining –”
“I am complaining,” Zoro mutters.
The silence that follows is not agreement.
Nami smiles, all teeth and menace. “I could always send Luffy.”
Images flash in quick succession: fourteen bags of candy, no rice, Luffy trying to ride a cart like a skateboard, Nami’s fist connecting with Zoro’s skull when the bill arrives.
Sanji exhales smoke toward the ceiling, jaw tightening. “Whatever,” he says, but it sounds more like fuck, fine than indifference.
Nami, satisfied in that terrifying way only she can be, claps her hands again. “Bring back receipts and everything on that list or I’m taking it out of your personal stashes.” She leaves with the efficiency of a storm changing direction and for a moment, the only sounds are the low hiss of the pan and the ship’s soft creak around them. Sanji doesn’t look at him. Zoro doesn’t look at Sanji. The smoke curls lazy between them like a third, unwelcome party to the conversation.
Zoro grabs his swords because he doesn’t know what else to do with his hands, stepping out in a way that feels less like leaving a room and more like stepping out of a ring mid-round.
Twenty minutes later, there are three empty crates stacked by the gangplank, the sun beating down on the deck and the island noise drifting over the water. Zoro, against all better judgement and every screaming instinct he has, is still there, waiting.
The sun sits low and mean over the harbour, throwing long stripes of light across the deck. Tar and salt and drying rope bake together into that particular port smell that usually puts Zoro in a decent mood: work to do, money to spend, a ship to come back to.
Not today. Today the air feels too hot in his lungs. The crates in his arms eat into the soft skin of his forearms but he lets them because the bite of wood is a simple pain he understands. The rest of it – this tight, sour thing crawling around under his ribs whenever he looks at Sanji – is not.
Sanji stands a few paces away, list in hand, cigarette hanging unlit from his mouth. Zoro can feel the distance like another person standing between them.
“Vegetables first,” he says, finally. His voice is flat, all the fizz stripped out. “Then flour, then a few spices and we can go.”
Zoro snorts, the sound coming out harsher than he means. “Your boyfriend waiting for you?”
He hears it as it leaves his mouth, too sharp and petty and close to the bone, and wants to grab the words out of the air and swallow them back down.
Sanji’s head snaps up. “Excuse me?”
There’s a beat where Zoro could fix it, could say i didn’t mean it like that or i just meant that stall idiot or just shut up entirely and let it die here. But pride and embarrassment and that weird, acid jealousy hook into his tongue and tug until he doubles down instead.
“Your spice guy,” he mutters, shifting the crates so he has an excuse not to look directly at him. “You seemed like you were having fun.”
He hates how small that sounds. How close it is to a sulk. It’s not the sharp, clean hit he usually goes for and Sanji just. Stares at him. There’s a flicker in his face Zoro can’t read – surprise, maybe, or hurt, or calculation. Then it’s gone, shuttered behind something cooler. He laughs, thin and brittle and sharp enough to cut your mouth on. “Fuck, you’re still on that?”
Zoro’s shoulders go up. “Just saying.”
“Yeah,” Sanji replies, voice dropping a few degrees. “You do a lot of that.”
There’s an accusation there he doesn’t know how to defend himself against.
you say things without thinking
you don’t care where they land
you’ve already made up your mind
The gangplank thuds under their boots and Sanji lands on the dock and keeps on walking, coat flaring slightly with each step. It’s not his dramatic stomp but worse because it’s so damn controlled and measured, like he’s decided exactly how much of himself he’s willing to spend on Zoro today and that amount is very, very little.
Zoro lengthens his stride to keep up, the crates stacked high enough that he has to look around them to track Sanji’s back. He keeps doing the thing he told himself he’d do: he gives the other man space. He doesn’t bump shoulders or walk close enough for their arms to brush. He doesn’t poke him in the ribs or hook his foot around his ankle or say you’re walking too slow just to hear Sanji spark back.
The market swallows them whole as soon as they leave the dock, all colour and heat and sound. Stalls spill onto the stone and awnings flap overhead, people shouting about fresh fish while others haggle over bolts of cloth. Normally Sanji would already be in his element, commenting on everything and dragging Zoro from stall to stall with a constant stream of banter. Today he walks like a blade through water. “Try not to get lost on the way to the fucking cabbage.”
Zoro’s jaw ticks. “You’re the one who gets distracted by every shiny tomato.”
“Well, you don’t have to worry about that,” Sanji fires back. “I wouldn’t want to embarrass you by enjoying myself.”
The word hits right where it did on the deck. Embarrass. Zoro wants to say that’s not it, that it was never about Sanji enjoying himself but about who he was enjoying himself with. He grits his teeth. “That’s not –”
“What?” Sanji cuts in, eyes fixed straight ahead. “Not what it looked like? Because from where I'm standing this whole thing looks a lot like you had a problem with me talking to a guy.”
Zoro’s chest goes tight. “I don’t care that it was a guy.”
“Oh,” Sanji says, bitter and bright. “So you just have a problem with me, then. Great, love that.”
“No, I didn't –”
“Save it. You made it pretty clear how you feel about my personality, remember? I’ll keep it to myself.” He speeds up, slipping through a gap in the crowd with the easy grace of someone who’s been dodging sailors since he could walk. Zoro has to shoulder his way past a crate of oranges to keep him in sight.
Every part of him that knows how to fight is screaming at him to close the distance, to grab Sanji by the collar and yank him into some alley and snarl the truth in his face: that it pissed him off because it looked like the thing they do, the thing that’s theirs, and for a second he thought he’d lost it to some smug idiot with a spice rack. That it wasn’t disgust, it was jealousy and that’s somehow so much worse he doesn’t know what to do with it.
Instead he clamps his jaw shut and keeps his mouth around the only defence he has left: silence. He walks half a step behind, crates digging into his arms, watching Sanji’s shoulders from a distance that feels much bigger than a few feet. The back of Sanji’s neck is a straight, pale line between his collar and his hair, tense enough that Zoro’s fingers itch with the stupid, useless urge to rub his thumb along it, see if the tightness would ease.
They hit the vegetable district, under a tangle of faded canvas awnings that turn the sunlight green and gold. Crates of produce spill into the lane: cabbages stacked like skulls, citrus glistening, wilted herbs half-heartedly misted with dubious water.
Sanji veers to a stall without announcing it, run by an older woman with forearms like tree trunks and a scattering of knife scars across her fingers. She beams when she recognises Sanji. “Ah! Long-legs! You again.”
“Ma’am,” Sanji says, and there’s a ghost of his usual charm there, but it’s thin, strained. “Your lettuce looks like it survived the apocalypse.”
“Storms,” she sniffs. “Everything’s storms now. You want better, you grow it yourself. I see your pack mule is extra quiet today.”
Sanji’s mouth twists. “He’s allergic to conversation.”
“Ah,” she hums wisely. “Man trouble.”
Zoro nearly chokes. Sanji actually startles, eyes widening for a split second before his expression snaps back onto that cool, unimpressed line. “Can we just get the cabbages?”
They haggle. Normally Zoro would tune it out, mind drifting to the weight of his swords or the stretch of his shoulders, half-listening in case Sanji got too excited and needed dragging away. Today he can’t not hear it or, more truthfully, can’t not hear what’s not being said and the way that Sanji’s not flirting. He’s just… efficient. Brutal, almost. Plays hardball, calls prices ridiculous, taps the heads of the cabbages like he’s judging skulls for structural integrity. There are no pretty compliments or sly smiles and Zoro should be relieved, maybe, but the knot in his chest pulls tighter.
He did this. Spat the word embarrassing at Sanji’s face, and now the man’s folding all his shine down into a neat little box and tucking it out of sight.
“Fine,” Sanji says at last, snapping a price. “But if they wilt before I get them aboard, I’m coming back to yell at you.”
“Promise?” the woman grins.
Sanji’s smile is brief but it doesn’t reach his eyes and hey move on. Flour’s next, easy and impersonal. They don’t even have to talk to do it: Sanji gestures and Zoro lifts. The stallholder grumbles about pirates and Sanji tosses a food’s legal tender line over his shoulder; Zoro doesn’t add anything. Lets the joke hang between Sanji and a stranger like that’s where it belongs.
By the time they’ve loaded two crates with vegetables and one with flour the sun’s climbed higher and the only thing left is whatever spices Sanji’s decided make the cut.
The stall looks exactly the same as yesterday, the smell hitting Zoro like a cleaver. He tenses, stupidly aware of this place in a way he doesn’t want to be, even as Sanji stops at the edge of the stall’s shade. The stallholder looks up and his whole face lights. “Well, well, if it isn’t my favourite culinary menace.”
Yesterday, Zoro would’ve rolled his eyes. Today he stares very hard at a crate of dried chilies and pretends his pulse isn’t climbing.
Sanji sets his hands on the counter, fingers spread. “You overcharge for coriander. Somebody has to keep you honest.”
The stallholder laughs, eyes crinkling. “And you underpay with insults. We’re even.”
Zoro tightens his grip on the crates and focuses on the grain of the wood against his palms, tells himself to stay the fuck out of it and give Sanji room. Keep it in the damn box. Sanji slides into the rhythm easily, the sharp back-and-forth, the mock irritation, the quick hands lifting jars and putting them back exactly where they were. “How’s the cardamom?”
“Fresh.”
“I’ll be the judge of that.”
Zoro stares at the stall to their left, to where someone selling pickled things yells about vinegar. A kid runs past, laughing. None of it lands properly, all the sound coming from the wrong direction.
“What about you?” the spice guy asks, nodding at Zoro. “You gonna glare at my stock again or’s that extra?”
Zoro’s jaw flexes. “I’m just carrying stuff.”
Sanji’s voice goes a shade quieter. “Quarter kilo of the good chili and half of the coriander seeds. Two of your better curry mixes. And if you’ve got real saffron this time I might not tell every restaurant in town you’re a fraud.”
“You wound me,” the stallholder grins.
“Good, maybe you’ll stop lying about your paprika.”
Zoro watches Sanji from the corner of his eye, tracking the way he keeps some distance – no leaning on the counter this time or casual brush of hands. Sees how his mouth never quite curves into the full, bright grin Zoro is used to pulling out of him. Sees the way his gaze flicks Zoro’s way once, quick and sharp, before snapping back like it got burned.
The deal finishes. Money changes hands. The stallholder, still trying to lighten the mood, leans forward. “You want me to show you around the rest of the market later? I can get you a real good deal on eel.”
Sanji goes stiff, mouth twisting right in time with Zoro’s stomach. He says, flatly: “Give me the saffron.”
The man hands it over, face faltering and Sanji tucks it into his pocket with surgical efficiency, nods one single time and turns away.
“Thanks,” Zoro mutters, the only neutral word his brain produces.
The spice guy waves him off, still looking contrite. The market’s noise wraps back around them, but their little bubble stays jagged and wrong. Sanji’s still a pace ahead, still not looking at him. Zoro keeps his mouth shut by force, stuck in the stupid loop he’s created: jealous when Sanji spends his fire on others and gutted when he holds it back around him.
He doesn’t know how to step out of it without stepping forward and that’s off the table. Sanji’s made it very clear how he hears Zoro’s bullshit: as judgment. As disgust. As the same kind of shit he’s probably heard for years and Zoro would rather cut his own tongue out than double down on that.
They clear the main crush and hit a narrower lane between stalls, quieter, half-shadowed. A breeze sneaks through, cooler. It should feel like a relief.
“Oi,” Sanji says abruptly.
Zoro looks up to where the cook’s stopped dead in the middle of the lane, one hand still in his pocket and the other hanging loose at his side. There’s a flush to his face that isn’t just heat; his jaw's clenched. “We’ve got what we need. You can stop acting like the job requires you to ignore me.”
Zoro’s tongue sticks to the roof of his mouth. “I’m not ignoring you.”
“You haven’t said more than three non-insult words to me all morning and one of them was boyfriend.”
“That was an insult,” Zoro mutters before he can stop himself.
Sanji’s eyes flash. “Yeah, no, I got that.”
They’re starting to draw looks. A pair of old men at a nearby stall glance over, then very pointedly turn away, the way locals do when they see something that might turn into a fight and don’t want the paperwork. Sanji looks around once, mouth tightening, then grabs Zoro by the wrist and just fucking hauls him sideways, between two closed up booths, crates and all. Zoro could dig in his heels easily but doesn’t. His body goes obedient before his brain catches up, following Sanji into the narrow cut between stalls.
It’s barely wider than his shoulders, all rough boards and the faint smell of old fish. The sky is a thin strip overhead, crisscrossed by laundry lines and prayer flags. The noise of the market dulls to a muffled blur.
Sanji lets go of his wrist and rounds on him, planting one hand on the wall beside Zoro’s head to box him in without seeming to care that Zoro’s bulkier and armed. His eyes are very clear and very angry. “What the fuck is wrong with you?”
Zoro swallows. The crates feel ridiculous in his arms now, like stage props in the wrong play. “We got your stupid spices.”
“This isn’t about spices,” Sanji snarls. “This is about you suddenly acting like I’ve got the plague.”
Zoro looks away, down the alley. His teeth grind against each other to stop himself from saying anything other than: “I’m not.”
“You’ve either been up in my face starting fights or pretending I’m a ghost so pick one, asshole!”
“I’m just giving you space,” Zoro snaps and immediately wants to bite his own tongue off.
Sanji blinks. “Space,” he repeats, like it’s a foreign word.
“To… do whatever,” Zoro mutters. “Talk to whoever, flirt with… whoever.”
There, he said it. Pulled the scab off in one go. Sanji’s expression fractures for a second – surprise, hurt, naked offence flickering too fast beneath the anger to catch properly. “Oh, so that’s it. You think I’m disgusting? You think I shouldn’t – what, look at a man? Joke with one? Let him say I’m pretty for five fucking minutes?”
The word pretty hits Zoro like a thrown plate. His chest feels too small for his lungs. “No, that’s not –”
Sanji’s hand curls against the wall, knuckles whitening. “Then what? Because from where I’m standing, you’re either pissed because it was a guy or you’re pissed because it was me, both of which are real fuckin’ –”
“I’m mad,” Zoro bites out, furious. “Because it was us.”
Sanji’s mouth shuts with a click. “What the fuck’s that mean?”
Zoro’s pulse is in his throat, every instinct he has screaming at him to shut up, to make a joke. To pick a fight. To do literally anything except walk off this edge. He hears himself do it anyway. “What you were doing with him, the… insults. That’s what we do.”
Sanji’s eyes narrow. “We fight.”
“We talk,” Zoro corrects, louder than he means to. The crates wobble; he adjusts them without looking away. “We’ve been doing that since we met. You yell, I yell, you call me whatever, I call you whatever, you threaten to kick my teeth in, I threaten to throw you overboard. That’s –”
“Abuse,” Sanji cuts in dryly, but there’s a tremor under it.
“That’s ours,” Zoro barrels on. “That’s you and me.”
Sanji’s face does that thing again, anger and confusion and something warmer flickering and trying very hard not to surface. He inhales deeply, face turning carefully blank. “And what if I told you it looked a lot like the way we talk ‘cause that’s how I flirt when it’s real?”
The word flirt lands in Zoro like a blade point-first, air gone thin. The crates in his arms might as well be feathers; he can’t feel them properly anymore over the roaring in his ears. There’s a beat where he could do the easy thing, where he could scoff and call Sanji delusional. Pretend it’s a joke and punch his way out of this narrow little trap. Instead every stupid, reckless part of him that’s been simmering since yesterday grabs the opportunity with both hands. “Then I’d say you were wasting it on him.”
Sanji looks at him like he’s never seen him before, stepping in so close Zoro’s back crunches further into rough stone. The crates creak between his chest and his arms. Sanji’s hand’s still on the wall by his head and his other floats up, hovering in the air like it’s fighting with itself.
Zoro’s heart is a fucking drum.
“Well,” Sanji says, voice low and lazy on purpose. “If I’ve been wasting it on the wrong person…”
His gaze drops, blatant, to Zoro’s mouth and Zoro feels it like a hand, every instinct he has for danger and every instinct he has for want pulling in the exact same direction. Two fingers lightly tap the corner of Zoro’s mouth, a ridiculous, delicate little touch. He clearly expects Zoro to flinch; Zoro can feel it in the way Sanji’s shoulders hold loose but ready to snap back, all bravado balanced on a hair-trigger retreat. This is Sanji at his most defensive: hit himself first, so no-one else gets to.
“Try me,” Zoro hears himself say, ragged and honest and entirely too fast.
Sanji kisses him, sharp, a fast, testing press that’s more weapon than affection. He stays taut, all on the surface, ready to laugh it off the second Zoro jerks away and then he starts to pull back – see, joke’s over, you failed, forget it – and Zoro, operating entirely on impulse, chases him. The crates hit the cobbles with a heavy thud, flour and vegetables shifting, but his hands are finally free. One clamps down on Sanji’s hip, fingers digging into the sharp line of bone and the other shoves into the hair at the back of his head, holding tight like it’s the only solid thing on the ship.
He kisses back, too hard, angle wrong, teeth crunching. Sanji makes a strangled what the fuck noise into his mouth, and Zoro realises with a bolt of horror that he has absolutely no idea what he’s doing and almost breaks it, but Sanji’s fist catches his shirt, yanking him right back down.
“Oh, no you don’t,” he mutters against his lips, breath hot and furious. “You don’t get to drop that and run.” His other hand slides up to the back of Zoro’s neck, thumb settling under his ear, fingers curving into the short hair there, directive, tilting Zoro’s head until the whole world suddenly lines up. He leans in again, slower this time, and Zoro meets him halfway.
Sanji’s mouth fits over his properly now, warm and insistent and alive. He softens the pressure a fraction, and Zoro copies him without thinking. The angle’s better, their lips slotting together like a new stance that finally makes sense. Sanji presses, then eases, testing, and Zoro moves with him the way he would in a spar: push, yield, push back. It’s clumsy around the edges, teeth grazing, breath messy, but there’s a rhythm in it he recognises from everytime they’ve ever tried to beat the shit out of each other.
He tightens his grip in Sanji’s hair, dragging him closer, and that gets him a hit he didn’t expect, a shudder from Sanji, a tiny, bitten-off sound against his tongue.
oh, Zoro thinks, dazed and savage.
Sanji surges up into him like something finally snapped. Fingers glide up Zoro’s side, catching on old scars before fisting in the back of his shirt. The hand at Zoro’s neck keeps him right where Sanji wants him, thumb stroking once, rough and almost affectionate. The kiss breaks for a second – just enough for air – and then Sanji’s back on him, teeth catching Zoro’s lower lip, sucking it, dragging a groan from Zoro that’s completely involuntary. He feels heat pool under his skin, a hot, insistent pull low in his gut. It’s the same rush he gets mid-fight when someone finally proves they can keep up, except it’s all pressed into Sanji’s mouth, Sanji’s hands, Sanji’s body slotting perfectly against his like some idiot puzzle piece he didn’t even realise he was missing.
Sanji laughs into his mouth, breathless and wrecked-sounding, and deepens the angle again, licking into the seam of Zoro’s lips like, yes, here, open up, pay attention. It’s messy and hot and way too much. His back’s starting to ache from the wall and his grip in Sanji’s hair is probably flirting with painful but he doesn’t care. Everytime he thinks okay, that’s enough Sanji drags him right back under, kissing him harder, chasing another sound out of him like he’s collecting them.
He has no idea how long they stay tangled like that – seconds, minutes, a lifetime. Zoro couldn’t name a single person on the whole damn island right now if you held a blade to his throat.
It’s just… Sanji. Sanji’s mouth, hot and slick and relentless, Sanji’s hand on his neck, thumb rubbing a distracted pattern into his skin. Sanji pressed against him like he’s been waiting to do exactly this and is making up for lost time.
Finally – finally – Sanji tears his mouth away, dragging in air like he’s just surfaced from a dive. He doesn’t go far; their noses brush, foreheads almost touching, breaths tangling. Zoro chases him a centimetre without meaning to and Sanji pins him there with a look. “Timeout. Before we traumatise the entire vegetable district.”
Zoro’s lungs burn. His hand is still welded to Sanji’s hip and he – he can’t even speak right now.
“For the record,” Sanji murmurs, words slow like he wants them precise. “I don’t flirt like that with everyone.”
Zoro’s heart stutters. He clears his throat and manages, weak: “You don’t say.”
“This? The real shit that gets under my skin? The part where I slam you into a wall and nearly dislocate your jaw trying to make you shut up with your mouth?” He swallows, throat working right under Zoro’s nose. “You’re the only idiot I want to waste it on.”
Zoro stares at him. “Good,” he croaks, because apparently that’s all his brain will give him right now.
Sanji snorts, breath puffing against Zoro’s lips. “Good?”
“Yeah.” Zoro’s hand slides up, thumb brushing the corner of Sanji’s mouth, feeling the damp heat there, the faint tremble. “I’m not interested in sharing.”
Sanji’s breath catches and for a second, they just look at each other, both of them flushed, breathing hard, pressed together in a narrow gap that smells like spices and saltwater and them. Then Sanji’s mouth crooks into a helpless, wrecked little grin. “Me neither,” he says, soft as a blessing, and drags Zoro down into another kiss.
x
poor stallholder was probably so hype to have a hot leggy blonde chatting him up then this mossy-headed fucker comes along like >:(
Sanji realises he’s in love with Zoro halfway through watching him do absolutely nothing.
The Sunny’s in one of those rare impossible moods: gentle. The sea’s a slow breathing thing under the keel, swell and fall, swell and fall. The sky’s wide and washed out, clouds torn thin like old linen and everyone’s slotted into their usual business. Nami’s bent over the chart table, Robin turning pages with that unhurried grace, Franky half inside the engine, Usopp and Chopper arguing cheerfully over some new contraption. Luffy’s on the lawn deck trying to learn a card game and cheating so enthusiastically – on himself – it’s practically a new set of rules.
Zoro’s ‘asleep’ against the rail, one shoulder to the warm wood and one arm loose over Wado’s hilt, head tipped back. If you didn’t know him you’d think he was dead to the world but Sanji does know him, unfortunately. He sees the little tells: the way Zoro’s fingers twitch when the mast creaks wrong, the way his breathing never quite tips into the heavy, slack-muscled rhythm of real sleep. Half dozing and half coiled, that weird predator rest he’s perfected, recharging with one ear still pressed to the world.
Sanji’s at the opposite railing, cigarette down to the last stubborn sliver. He’d come out for air. That was all. Check the clouds, check the wind, make sure the idiot captain hadn’t fallen overboard between one blink and the next. Normal things.
Instead, his brain picks now of all times to calmly rearrange his whole life. The wind ruffles Zoro’s hair and the light glances off the scar bisecting his chest and something in Sanji’s stomach just – drops. Clean cut. Rope severed.
Oh, he thinks, with all the dull, stunned clarity of a man who’s just realised he’s been walking around with a knife in his own back. The thought lands so neatly it’s almost insulting.
He drags on the cigarette hard enough his lungs sting, exhales slow and starts, methodically, to inventory the damage. The way his first instinct when Zoro gets hurt now isn’t a cuss but a cold punch of fear that knocks the breath out of him. The way his feet know the route to the crows’ nest at midnight, just to check for the comfortingly idiotic clank of weights. The way some treacherous part of him has started keeping score of Zoro’s favourite dishes, what he eats faster when he’s tired, what he reaches for without thinking.
The way he wants.
He’s spent his entire life wanting things he couldn’t have. Food, first – real food, more than scraps. Then freedom. Then a future that wasn’t drawn up in Judge’s brittle little handwriting. Women were easy after that. Safe, distant. Wanting a lady from across a room was like wanting a star… pretty and impossible and perfectly harmless. Courtly words, flirtatious smoke, the same old script looping in his mouth. Wanting as performance. Wanting with no hope and no risk.
This is not that.
This is wanting to sit next to Zoro in the shade and do nothing, on purpose. This is wanting to brush sweat off his forehead after a fight and check his temperature with the back of his hand like some fucking housewife out of a storybook. This is wanting to lean against him, shoulder to shoulder and not have to be the cook or the gentleman or the shield – just a person who’s tired next to another person who’s also tired.
It’s hideous. It’s terrifying. It feels like standing on the lion’s head, toes right at the edge, looking down at the glittering waves and thinking, in a horrible, quiet, treacherous little voice: if i stepped off i wonder how long it would take to hit the water.
“Oi.” Zoro’s good eye slits open, narrow and brown.
Sanji realises, with a rush of mortification, that he’s been staring like some idiot teenager catching feelings in the middle of a class. He fumbles his lighter, pretending that’s what he’s been focused on this whole time. “What?”
“You’re burning your filter.”
Sanji looks down to where the cigarette’s just a crooked stub, ember licking dangerously close to his fingers. He smashes the butt into the rail with more force than strictly necessary. “I know that.”
Zoro snorts, a sound that brushes the edge of a laugh. His eye slides shut again, lashes a dark arc against his cheek.
see? Sanji thinks, throat tight, nausea and fondness wrestling under his ribs, there you go. unrequited as hell.
Zoro’s never shown interest in anyone, not really, not in the way that counts. He cares deeply and infuriatingly, sure, about Luffy and about the crew and even about their stupid rivalry. He gets furious, he gets protective, he gets weirdly gentle when he thinks no-one can see. But romance? Whatever shape that word even has for monsters like them? There’s nothing. Zoro’s ambitions are carved into him like marks in stone: become the greatest, keep his promise, protect his captain. There’s no slot in there for something as petty and messy as this.
Sanji swallows the bitter ash taste at the back of his tongue.
He decides, very carefully, the way you might decide which leg to cut off to stop the poison spreading, that this is his problem alone. He’ll keep it. He’ll tuck it somewhere behind his ribs and feed it little scraps – stolen glances, daydreams, the warm buzz of laughter after a shared joke, whatever – and starve it the rest of the time. He won’t let it spill. He won’t let it show.
He’s always been good at wanting things he doesn’t get. It’s practically a profession, at this point.
x
He tells himself it’s fine, at first.
He’s carried worse things than a quiet, inconvenient crush. He’s carried hunger like a second skeleton, carried Judge’s voice like a nail through his spine and Zeff’s boot like a metronome against his skull. Carried a whole restaurant, carried his own useless heart through East Blue and the Grand Line and back again.
He can carry this. It’s just one more impossible thing, one more little weight. He just has to be sensible about it. Manageable. Contained. One sleepless night, hunched at the galley table with coffee that tastes mostly like cigarette ash and regret, he decides to make a list, lining the facts up in his head, neat little bullet points like orders in the kitchen pass, tickets pinned in a row that all read the same thing underneath: don’t.
Reason one: He’s Zoro, which is honestly already enough. Zoro, whose whole life is pointed like a sword tip at one tiny spot on the horizon and who stared down Kuma and handed over his future like he was paying a bar tab. Zoro, who bleeds and breaks and never once says he can’t, not as long as Luffy is moving.
Zoro, who worships a grave and a promise and three slabs of steel. Who doesn’t do… this, whatever this is. Whatever Sanji’s stupid heart is choking on. Sanji’s never seen him look at anyone the way he looks at Wado. Not a woman, not a man, not a pretty stranger in a bar, not even at Mihawk which is saying something.
He keeps everyone at that weird distance he has: both one arm’s length and all in, at the same damn time. Close enough to fight back-to-back with and close enough to die for, but far enough that nothing else gets entangled in there. No messy words. No tangled hands. Zoro’s already married to a ghost and a dream so what the hell’s Sanji supposed to do with that? Compete? He’s not in the business of trying to outrun ghosts; he’s been haunted enough for ten lifetimes.
He tells himself he doesn’t get to want more from someone who already gave everything away once. Want, don’t ask. End of discussion.
Reason Two: The crew, because when his brain starts spiralling he thinks about the Sunny. The way her deck feels under bare feet in the morning, the way Luffy’s laugh bounces off the beams. The clatter of Usopp’s tools in amongst Franky’s off-key singing and Robin’s pages turning. The soft patter of Chopper’s hooves down the hall. Nami’s baffled yelling when a storm does exactly what her chart said it would absolutely not do. The smell of food in the galley at dawn, the weight of a warm mug pressed into Zoro’s hand when he comes in from night watch, salt still damp in his hair.
This ship is home, not for now. Not until something better or until Judge drags him back. It’s real, stupid, miraculous home and confessing – dragging this wild, stupid thing in his chest out into the light where everyone can see it – feels like flicking a lit match at the only safe place he’s ever had.
The most likely scenario is that Zoro says no, that he stares at Sanji with his eye going flat and unreadable and says something like: “I don’t…think of you like that,” in that honest way he has, where it’s just fact. And then there’ll be a crack where there wasn’t one before.
He can picture it too clearly, the too-careful space between them where the easy insults used to live. A notch in their timing. Zoro hanging back from the bench instead of leaning on it and Sanji thinking twice before shoving a plate into his hands. He can handle personal humiliation, god knows that’s practically a hobby at this point. He can survive heartbreak. He has, more than once, over things much smaller and more ridiculous.
What he’s not sure he can handle is the way it would ripple outward, invisible currents messing with everything. Luffy frowning, head cocked, asking: “Did you guys have a fight?” Usopp deciding that the solution is elaborate, terrible double dates that nobody asked for, dragging in bewildered strangers from whatever island they land on.
Chopper’s big wet eyes when the air gets weird and nobody will explain why.
It sounds stupid when he puts it like that, but he’s seen what happens when a crew fractures, when there’s a hairline crack in trust and everyone pretends they don’t feel the blow. He remembers the Baratie, those years when the restaurant was still half-broken from debt and shark attacks and how every argument could feel like the one that would send someone walking out the door for good.
He won’t – can’t – be the pebble that starts an avalanche, the idiot who chooses his own fragile wanting over the ship. So he adds another neat bullet point and when he’s feeling particularly honest, when the coffee’s cooled and the cigarette’s burned down and it’s just him and the hum of the engines, he tacks on the translation: you don’t get to risk this for a chance zoro might look back at you the way you already look at him.
Reason three: This one’s trickier to put words to because it isn’t really words at all… it’s a whole childhood of flinches pressed into his bones, layered like sediment. He’s a failed Vinsmoke project, a misprint, a busted prototype tossed down a cliff and somehow still walking around. A contradiction who grew up useless in a place that worshipped efficiency and obedience above all. A man who still bites down on his tongue every time someone says normal and means everything you’re not.
Even on the Sunny – where no-one would give a flying fuck about his bloodline unless they were making fun of his eyebrows – that self appraisal clings. It’s in the way he double-checks every dish before it leaves his hands and the way he keeps count of how many times he’s messed up and still been allowed to stay.
It’s one thing to be Sanji the cook or Sanji the fighter. Hell, even Sanji the pervert, the clown, the romantic idiot with hearts in his eyes and a script in his mouth. All of that is loud, ridiculous, easy to frame as a joke.
It’s another thing entirely to be Sanji, man, wanting another man.
Wanting this man, of all impossible, hopeless options in all the goddamned seas.
That feels… obscene, almost, greedy. Like asking the universe for seconds when he already stole the first plate off the cart, like walking into a restaurant starving and demanding more when they’ve already given him a chair and a regular meal and a name that isn’t failure.
There’s a quiet, nasty little voice that lives somewhere behind his ribs – half Judge, part Zeff, mostly every scumbag he’s ever dodged in some alley or every woman that’s ever chosen to humiliate him publically – that goes: why would he want that? why would he want you?
He’s loud, he’s annoying, he’s trauma in an apron. He’s got more baggage than the storage hold and half of it has someone else’s name burned into the side. His body’s a war between what Germa built and what Zeff fed, between the monster they tried to make and the boy who learned to slice onions with reverence because food means love and survival and you get to live another day. The curve of his jaw that looks too much like Judge’s, the scars that trace stories he can’t tell without peeling himself open. The parts of his body that have always felt a half-step to the left of where they’re supposed to be, even after he left home, even after he named himself and dressed himself and chose himself.
On the worst nights he looks at himself and thinks: you don’t get that. you’re lucky you got this much. don’t push it.
Zoro deserves – something simpler. Someone simpler, someone who doesn’t have to pause halfway through a kiss to check they can still breathe around the ghosts. Someone who can let their guard down without a battle plan.
That’s the story Sanji knows by heart: he’s too complicated to love in any way that isn’t distant, soft-focus, theatrical. Fine to flirt with and fine to spin around in a dining room. Fine as a joke, a bit, a distraction.
The problem is, Zoro doesn’t do theatrical.
Reason Four: What if he does say yes? And this one… this one is the worst. It curls under his ribs like a hot coal he keeps accidentally breathing on. It’s the one he flinches away from even in his own head because on the rare nights he lets his guard down enough to really imagine it – Zoro saying yes – it scares him more than rejection.
Rejection he understands: he can catalogue that kind of hurt. But if Zoro said yes then Sanji would have to be honest, again and again. A thousand small admissions, like peeling bandages in slow motion. Honest about the things that make him flinch and the scars that don’t show. The parts of his body he can throw into battle without blinking, but can’t always bear to have touched a certain way. The fact that sometimes he will talk himself hoarse about women because it’s easier than admitting he’s been staring at Zoro’s hands on a sword hilt for ten straight minutes like he’s hypnotised.
Zoro would ask questions because for all of their jokes about his brain, the swordsman notices everything. He notices when Sanji’s legs are stiff in bad weather, when his hands shake after a long day. When he smokes more on quiet nights, all the windows open like he’s trying to air out his own head. He would notice what Sanji doesn’t say, too. The gaps where other people have neat stories and the way a certain kind of touch makes his breath go wrong in his throat. The fact that some days he can flirt for hours and other days the idea of being seen makes his skin crawl.
If Zoro said yes, Sanji would have to map all that for him. Would have to tell him that sometimes he’ll disappear into his own head and Zoro’ll have to drag him back by the collar, and then what? What if Zoro says yes and then regrets it? What if they try and Sanji’s pieces didn’t slot anywhere useful and Zoro realised he’d signed up for a fucking puzzle with half the edges nissing? What if Sanji learns, too late, that there are some kinds of intimacy he simply cannot do, even with the one idiot he wants it from? What if his own fear slams shut at exactly the wrong moment and hurts them both? What if something breaks between them that can’t be patched?
He knows how to live with not-having, that’s a muscle he’s been flexing since the Baratie, since before. Having-then-losing, though? That’s different, that’s taking the one impossibly good thing and dropping it. That’s shards everywhere and Luffy cutting his feet on them and Nami cussing him out and Zoro standing on the other side of the deck like a stranger.
Sanji runs that scenario in his head and feels sick.
He isn’t sure he can live with having-then-losing. Not this. Not him.
Reason Five: Luffy. This one’s quiet but it’s always there, like the hum of the Sunny under his ribs. He and Zoro are Luffy’s right and left hand and at this point that’s not even a metaphor; that’s just how it is. Luffy in the middle, idiot swordsman on one side, idiot cook on the other. They balance each other in fights, in arguments, in mundane bullshit like who gets to be the bad guy about vegetables and who drags their captain off from leaping into lava.
If something goes wrong between him and Zoro – if they go weird or sharp or careful – that triangle warps. He’s seen it before, in micro, when he and Zoro trade a slightly-too-real insult and the air goes thin for a second until someone (usually Usopp) makes an even worse joke and kicks the world back into spin. Luffy pretends he doesn’t notice things, but Sanji knows better; the kid read his people like weather. He feels changes in pressure before the clouds even roll in and he would feel this. He’d worry about it. He’d try to fix it in all the wrong ways.
Luffy already has a world’s worth of weight on his straw-hatted head. Kaido, Big Mom, the Marines, the Admirals, those shadowy freaks at the top of everything. The last thing he needs is for his two main warriors to be too busy pining and avoiding eye contact to pull their weight properly. Luffy needs Zoro looking at the summit and needs Sanji looking at the horizon, needs both of them holding the line so he can push forward without having to check if they’re still behind him every five seconds.
He doesn’t need them staring at each other on deck like a pair of shipwrecked morons trying to decide if it’s worth swimming. Sanji loves Luffy enough to die for him ,that part’s easy. He’s done the math and he’d do it again.
Living for him is… harder. Living for him means choosing the crew’s future over his own dumb heart and saying no to things he’s secretly, desperately wanted because they might crack the foundation of what they’re building together.
Living for him means this.
x
The island’s wrong from the moment they drop anchor.
From a distance it passes for pretty, all green and jagged with its cliffs punched through with shadowed caves and white surf cuffing the shoreline like lace. Nami had pointed at it over the chart with that grim least terrible option face and said they needed a log reset, a freshwater top up, maybe a few crates of canned goods if the old outpost still had a storehouse.
“Former Marine base,” she’d said. “Abandoned, no current flags. We get in and out, quicksmart.
Up close, Sanji’s skin crawls because the beach is too clean with no driftwood, no seaweed, no rotten nets. The air smells wrong beneath the salt… like wet metal and old oil and that flat tang of stone that’s been hosed down one too many times.
He lights a cigarette just to put something familiar over the top of it.
“Marines left this place years ago,” Nami says, frowning at her compass. “Should just be a ruin. We grab water, check the storerooms, loot anything that isn’t bolted down and go.”
“Ruin,” Usopp mutters. “That’s what they want us to think.”
Luffy doesn’t wait to be reassured or warned – he’s already halfway up the rocky path, laughing, sandals skidding on gravel, calling back something about a secret base like that’s a good thing.
By the time they catch up the ruin has already grown teeth. The cliffs are hollowed out, Marine concrete grown like tumours into the rock while bunkers hunch in the stone face.
Sanji’s cigarette tastes sour in his mouth when his haki brushes those bunkers and skates off something dead and heavy and familiar. Seastone, threaded through the rock like barnacles. “This wasn’t just a base, it was a prison.”
“Was,” Zoro says, eyeing the empty catwalks. “Keyword.”
Then the ambush hits: they come out of side hallways and service doors, some in uniform, some in whatever they could scavenge. Marine jackets with the symbols scratched out, mismatched helmets, eyes too sharp and too hungry and definitely not organised enough for actual Marines, but not sloppy enough for regular bandits.
Grave robbers who found a government torture maze and thought: jackpot.
It goes about how anyone’d expect, at first. Luffy laughs like it’s a festival game and Zoro’s grin takes on that bright, feral edge. Sanji’s already in motion, heel cracking into someone’s jaw, sending them through a peeling wall and into a bank of dead monitors. Nami’s baton snaps lightning and Usopp’s shots turn the hallway into a panic zone.
Then somebody hits the wrong lever and Sanji feels it before he can name it: a weird, queasy shift under his boots, like the whole floor just took a breath. Air pressure thickens in his ears. The hair on his arms prickles.
Sirens howl to life in the form of a jagged scream that slices right down the centre of his skull. Red emergency lights stutter on, painting the hallway in blood and shadow as something massive groans and starts to move deep beneath – engines or pistons or gods know what.
“Uh?” Usopp blinks, wearing the face of a man whose nightmares just got new material.
The whole facility lurches – Luffy has to grab a railing to keep from faceplanting. Franky swears, hands already on the nearest wall like he can feel the mechanics through his fingertips. “They’ve still got the ballast system running! This whole place is on some kinda submersible rail –”
The floor drops half a metre in one sickening gulp and slams to a stop and one of them yelps. Somewhere below, ocean slams into hull with a hollow, booming roar.
“Translation!” Nami shouts over the dying sirens.
Franky grimaces. “We’re on a big, stupid elevator inside a big, stupid fortress and it just told the sea hello.”
They slam down with the slow, implacable inevitability of fate, huge bulkheads dropping out of ceiling slots and teeth rattling in their skulls with every impact. Some are old steel and Sanji can kick those, at least. Some are pure Seastone, dead and heavy and absolute, and even Luffy just rebounds off them with a sick little grunt.
They get split up before they even mean to. Robin, Nami and Usopp get cut off by a descending slab, Robin’s hands the only thing keeping it from taking Usopp’s hat off. Franky and Chopper squeeze through a gap that’s shrinking by the second. Luffy stretches himself through a narrowing frame and then gets hammered sideways by some idiot with a shock baton.
Sanji ends up with Zoro because if there’s any order to the universe at all then it’s cruel and also has a dickhead sense of humour.
“We need to get Luffy to the control room,” Zoro scowls, boot already planted in a bounty hunter’s chest. “He might be able to smash those panels.”
Sanji whips around and takes another out at the knees, heel biting into tendon. “Yeah, if we can keep him from drowning first.”
The floor gives a nasty lurch under them, second of weightlessness that sets his stomach climbing into his throat. Water sprays in thin, vicious jets out of hairline fractures in the walls, turning into glittering fans in the red light.
“This place is gonna sink,” Zoro notes, grim.
Sanji can hear it too now, the deep-belly groan of a structure settling into the sea, ballast tanks filling, steel complaining under pressure. The smell of salt’s thicker down here, edged with a mineral spice that screams deep water.
“Then we make sure the Sunny isn’t next.” His voice comes out more feral than he intends. “You go high with Luffy, get to the top and cut whatever cables they’re using. I’ll go down, find a manual override for the ballast.”
Zoro’s eye snaps to him. “We’re not splitting up.” The word we lands like a hand between his shoulder blades, steady and awfully warm. Sanji bares his teeth because that’s easier.
“Look at you, Moss,” he drawls, cocky smile like armour. “Pretending you’d miss me.”
Zoro’s jaw clenches. “Idiot. It’s not –” A bulkhead groans above them and starts to descend so they both lunge but Sanji’s faster. He drops into a slide without thinking, shoulder skimming the floor. The door misses his skull by mere centimetres and he feels the metal’s weight slam down behind his heels as he clears it, the impact punching up through his bones.
He rolls, comes up on one knee on a lower platform. His lungs are full of rust and salt and adrenaline. He trusts, down in the sharp, terrified centre of himself, that Zoro’ll be fine and that nothing short of the end of the world is going to stop Luffy with Zoro at his back.
The flying kick to the nearest control panel is pure reflex, a need for a satisfying crunch. The half-lowered door judders and halts, stuck in place with a gap just wide enough to see through, too narrow for even Luffy’s rubber bones.
Above him, through the slit of metal, he can see Zoro’s face, upside down from this angle. His hair’s damp with water, his mouth pulled into something halfway between a snarl and a snare. His hand’s out, fingers spread like he could grab Sanji by sheer force of will and drag him back through solid steel.
“Asshole,” Zoro barks, breath ragged. “What the hell was that?!”
“Strategy,” Sanji calls back, already taking inventory of the lower level. Pipes. Valves. Old mechanical levers with labels bleached to ghosts. “Top route’s all Seastone bulkheads but down here it’s old-fashioned metal. I can kick that.”
“You’re –” Zoro chokes himself off with a stream of actual swearing. “Don’t you dare go hero on me again, Curls. That’s an order.”
The word again digs claws under his ribs. Sanji laughs because he doesn’t know what else to do with the way his chest tightens. “Since when do I take orders from you? You’re not my captain.”
Zoro’s gaze locks on his, sharp and unflinching even through the narrow seam. Even warped by the angle, that single eye lands on him like weight. “You know that’s not what I meant.”
The floor shudders again. Somewhere below, the ocean hits metal with a booming thud. The sirens glitch, cut off, then restart a note higher, frantic. The part of Sanji that wants to stay right there and keep listening is loud, but luckily the part that knows how drowning works is louder. He flashes Zoro a grin that feels like it’s made of glass. “Guess we both better hurry up, then.”
“Curls –”
The overhead speakers crackle and spit static, then a flat, bored artificial voice washes through the corridors: “LEVEL THREE FLOODING. AUTOSEAL ENGAGED.”
The gap between them shrinks and for one useless second, Sanji’s stomach drops like he’s fallen off the Sunny’s mast. Panic claws up his throat at the sight of that eye disappearing behind steel which is just fucking idiotic – they split up in fights all the damn time, he’s been on islands alone with worse odds than this – but it still hits like a kick.
He lifts his hand anyway, palm flat to the cold metal. Fingers spread. On the other side of the door, just as the seam seals with a heavy thunk, he hears a faint, answering clunk of another hand hitting the same spot.
Then it’s just him and his own breathing.
x
Upstairs was damp, but down here is drowning in slow motion. The hallway’s ankle deep in water just standing still, every step sending up little waves that smack against the walls. The metal floor plates boom hollow under his boots even as the air sticks to the back of his throat. The walls shiver with the strain of the pressure outside and pipes bang in their brackets, valves leaking in thin silver streams. Somewhere deep in the structure, something groans like a ship’s death rattle.
Sanji sloshes forward, jaw locked, every sense straining. It’s not just about the Sunny now, it’s about Robin and Nami and Usopp trapping their fear under brittle jokes three levels up. About Chopper’s tiny hooves on tilting floors. About Luffy, who can’t fucking swim. About Zoro, currently trying to batter his way through whatever’s between him and the control room with bruised knuckles and spite.
The explosion doesn’t sound like he expects – there’s no cinematic fireball or convenient slow-motion, just a horrifying whump that skips past his ears and punches straight through his chest, shaking his spine like a bell.
For a heartbeat there’s no sound at all. Then pressure slams him sideways, all air, water and hissing shards of metal. He feels his shoulder hit the wall and then the wall isn’t there; there’s a moment of weightless spinning, a white flash of pain somewhere in his side as something hard and fast finds bone. Then the floor rises up and takes his legs out, and he hits water and metal all at once.
The sirens go distant and tinny. His own breathing sounds like it’s coming from the other end of a tunnel. He tastes blood and seawater and the bitter ghost of old cleaning solution.
When his hearing slams back in, it brings a chorus he didn’t ask for: a jagged panel’s fused into the opposite wall, still spitting sparks, edges glowing dull red. There’s a new hole in the floor where the blast ripped through, a yawning gap opening straight down into death, probably. The sea below looks less like water and more like a moving absence, sucking at the edges of the wound.
Behind him, where the hallway used to continue, is now a twisted mess of metal and concrete, just an absolute shitstorm of bulkheads ripped from their tracks and walkway plates peeled up like tin, supports bent into weird angles. The way back’s gone, sealed by wreckage he’d need weeks and a crane to untangle.
If he was the sort of man who prayed, this would be a great time to start. Instead, he lies there for a second and counts his breaths until his head can stop ringing. His side complains every time his ribs move and he can tell that there’s something’s horrifically wrong there. It’s a white, tearing pain that lances from spine to sternum every time he breathes, like someone’s jammed a hot knife between the bones and told him to inhale around it and wen he pushes himself upright, the whole world tips sideways. His vision sways. For a second he’s sure he’s going to black out and just… slide under.
His hand comes away from his side slick and red, fingers webbed together with the blood. He blinks at it. “Fantastic. Really nailing it today.”
He shoves himself to his feet, wincing at the how the motion tears something inside, painful enough to paint static across his vision. He chokes on it, hand clawing at the door to keep upright. The water’s up to his knees now, tugging at him like small, insistent hands. It’s higher near the jagged hole where the floor drops away into black but everywhere else it creeps at a steady, horrible pace.
He staggers forward, one hand braced on the wall, using the pipes like uneven railings until the hallway dead ends in a heavy door half submerged in murky water. For a silly hopeful heartbeat, relief surges through him at the sight of the big spoked wheel set into it, letters around the rim worn down to ghosts by time and salt.
“Hello, gorgeous,” he mutters. “Show me you still work.”
He grabs the wheel and throws his weight into turning it but his whole side screams. The pain’s so bloody sharp and pure it knocks the air out of him and the damn wheel doesn’t move anyway. He sucks in a breath between his teeth and tries again, this time dragging every ounce of leg strength up from his heels, hips, shoulders, back, his whole body braced and pushing.
The water kisses his thighs now.
“Come on,” he snarls at it, voice raw. “Come on, you bastard, move.”
The wheel doesn’t care. The door doesn’t care. The sea sure as hell doesn’t. He stands there dripping and panting and staring at a wheel that won’t turn and thinks: oh. this might be it.
Not on the Baratie, half a starving skeleton. Not at the hands of some mythic beast or an admiral or a warlord. Just… a shitty feral Marine death trap and the ocean.
A stupid, ugly end in a stupid, ugly room.
He lets his forehead fall against the cold metal of the door, breath fogging the damp surface as a laugh bubbles up, hoarse and broken. “Fitting. Should’ve known I’d go out wet and pointless.”
His eyes sting; it sneaks up on him. He’s been hit harder than this, bled more than this. He’s stood on sinking ships and shattered islands and stayed dry-eyed but something about the smallness of this room, the cold climb of the water, the way the wheel refuses to turn… it shakes something loose.
He drags the DenDen Mushi out anyway, knowing it’s stupid, knowing the line is probably fried. The poor snail looks exhausted, little eyes half-lidded and antennae drooping. He could just sit down, fold, let it happen. But there’s a tiny, unfair part of him that thinks that if there’s even a chance…
He dials without looking, fingers moving on the familiar grooves. The Sunny’s general line, then the direct shell they pretend is just for argument scheduling. Sparring times. “Come haul your ass to the galley before I burn your dinner, shit-swordsman.” The line he always knows will pick up, even at three in the morning.
The snail rings once, twice and on the third ring it clicks. “Curls?” Zoro’s voice comes rough and close and sharp with alarm, cuts through the static like a blade.
Sanji’s lungs seize. For a second all the air goes out of him. That’s it, the breaking point, the last fragile wall. His knees just… fold. He slides down the door until his ass hits cold metal, water slapping against his thighs and hips and chest.
“Hey,” he says, aiming for flippant and landing somewhere south of wrecked. “You busy, Moss?”
“What happened?” Zoro demands immediately, no preamble, no insult. “Luffy’s punching holes in walls, Franky’s screaming about pressure and you sound like shit.”
There’s a stupid rush of warmth at you sound like in his chest, tangled up with panic. He swallows it back down.
“Yeah, well.” He glances at the flooded hallway and the twisted wreckage behind, the black mouth of the hole ahead. “I hit the basement level, looks like. Got myself locked in a deluxe suite with an ocean view.”
“Where, exactly?” Zoro’s tone sharpens to the point where Sanji can picture the way his eye’s narrowing and the way his hand goes to a sword. It’ll be Kitetsu, because he sounds pissed off. “I’ll cut through.”
Sanji looks at the door, the wall, the metre-thick metal and god-knows-how-many layers of fortress and water between them. Even Zoro can’t cut a whole fucking ocean. He lets his head thunk back again, eyes closing briefly. “I don’t think that’s gonna work this time. Place is flooding. I’ve got… I don’t know. A while. Maybe.”
“Don’t say that.” It’s ground out, low and dangerous, like the sound Zoro makes when someone touches his swords without asking.
A part of Sanji, big and stupid and soft, wants to obey instantly. Wants to take it back, lie, make it easier. Another part, the one that stood up on that rock with nothing left and still told Zeff to shove it, refuses.
“It’’s not that dramatic, Moss. I’ll just… nap. You can keep my cigarettes.”
“Shut up,” Zoro snaps. There’s a ragged edge in his voice Sanji’s never heard pointed at him like this. “You’re not dying in some hole. ”
Sanji closes his eyes and thinks of the times he’s come close and managed to slip sideways. He thinks of Zoro on the other side of layers of metal now, out of reach, out of sight, and suddenly the water feels colder than the sea ever has.
“Zoro,” he says. The name scrapes on the way out. “Listen, I…”
Static screams through the line, sudden and violent. The DenDen squints and flattens itself in his hand.
“Curls?” Zoro’s voice is distorted, warped, but there. “Say it again, the line’s -”
He could. He could just… do it, force it out before courage rots. Let the words fall into this cramped, flooding room, raw and ugly and honest: i love you. He feels them right there, behind his teeth, heavy and sharp before the other thoughts crash in.
What if Zoro doesn’t understand? What if he does? What if there’s confusion or pity or, worse, stunned silence? What if he makes this harder by putting something on Zoro’s shoulders he can’t set down while he’s still fighting for everyone else.
What if the last thing Sanji hears is Zoro choking on a kindness he doesn’t know how to survive?
“Tell Luffy I’m sorry,” he hears himself say instead and the cowardice tastes like bile. “If this goes how it looks, tell him he’s the best captain in the world and he’s not allowed to stop just because I dipped.”
“Sanji, shut up,” Zoro snarls. “I’m not having this conversation.”
“And tell Nami-swan I…” he pushes on, words tumbling out in a rush now because if he stops he’ll never restart. “Tell her she can have my savings, all of them. And my recipes. Robin-chan gets the fancy teas and my collection of, uh… literature?”
“Sanji,” Zoro says again, and now there’s something under it, like stone grinding. “Enough.”
“And you…” The water touches the underside of his jaw now, shock-cold against bruised flesh. His breath hitches. He squeezes his eyes shut.
“And you what?” Zoro demands. “Say it.”
Sanji’s eyes burn hot; something spills over before he can blink it away. A tear drops into the DenDen’s shell with a tiny, absurd plink. “Don’t you dare die trying to dig me out, you hear? You’ve got a promise to keep. That’s your order.”
The snail shrieks, interference slamming into them like another explosion, metal tearing and static roaring and a shrill squeal. The little snail’s face scrunches in pain before the line goes dead.
“Shit,” Sanji whispers. He drags in a breath and it hurts so much that the tears spill over again. He tips his head back until it knocks the door, stares up at the dark ceiling.
“Figures,” he mutters, voice gone soft. “Even at the end, you’re a coward.” For the first time in a long time, he lets himself cry, quiet angry tears that no-one sees, salt on top of salt, washed away as the sea comes to meet him.
x
He doesn’t die even though it feels, for a moment, like he has.
The water climbs his jaw, his face, higher. His body does what bodies do: it panics without asking his permission and he thrashes once, twice, heel skidding on the smooth flooded floor, shoulder banging the door. White pain explodes along his ribs. His lungs seize. He tips his head back, mouth breaking the surface for half a second. Sucks in a breath that’s more spray than air. Coughs. Chokes. The next wave slaps him full in the face and rushes up his nose like fire.
Instinct takes over so hard he clamps his mouth shut but there’s nowhere to go. The ceiling’s too low, the door’s a wall, the hole ahead is a black throat. The sea presses in from every side, unbothered, inevitable.
so this is it, he thinks, somewhere under the static in his skull. drowned like a rat in a tin can. romantic.
His lungs spasm again and his body betrays him entirely, mouth jerking open to drag in water instead of air, scouring down his windpipe, heavy and wrong. Somewhere very far away, past the roaring and the fire, something hits metal. Once. Twice. A distant, bone-deep clang, like the world being struck with a hammer.
He doesn’t feel the first hands on him, not really. Just a wrenching shift in pressure as the water surges one way and he’s yanked the other, along with a violent drag under his arms that tears a raw sound out of him even under the surface. The world tilts, the ceiling vanishes. There’s a scream of protesting metal, not from the walls but from above, like the fortress itself’s being carved open.
He breaks the surface with a ripping motion, like the air has teeth and his body just – heaves. Water comes out of him in great choking gouts, flooding his mouth, burning his sinuses, pouring down his chin. He doubles over around the pain in his ribs, every cough like a knife twist, vision strobing white-black-white.
“Breathe!” Someone’s shouting right by his ear, raw and furious and terrified. “Sanji, breathe!”
He claws for that voice like it’s a rope. Fingers close on fabric, on a forearm, on skin under a soaked wristband. The grip holding him tightens. Fingers – Luffy? No, too steady, too careful.
Air hits his face at last and he pulls it in, ugly and loud and half water, wheezing around the constriction in his chest. Light spears into his eyes from the jagged hole in the above, turning the spray into a brief, insane halo.
“Got you,” Zoro keeps saying, right against his temple now, ragged and looping, like a stuck record. “Got you, got you, got you –”
Somewhere in the blur there are more hands. Robin, sprouting limbs from stone, cradling his head, his shoulders, keeping his neck straight. Luffy laughing that shrill, hysterical laugh he only makes when he’s scared out of his mind. Franky bellowing about structural integrity.
Sanji slumps, his whole world cutting right back down to the feeling of Zoro’s arm banded across his chest and the frantic staccato of his own heartbeat trying to slam out through cracked ribs.
Then the darkness comes back, softer this time, and this time he lets it.
x
When he wakes up it’s a slow, miserable swim up through syrup-thick sleep into a body that feels like it was used as a battering ram and then left out in the rain. At first all he can feel are the bandages pulling tight when he shifts, a wide swathe around his torso, tape tugging at skin, then the rest of the infirmary clicks in around him. Wood creaks in a familiar rhythm under the keel as the ship rocks and, somewhere nearby, Chopper’s snoring in little high-pitched whistles, clearly exhausted.
“Oi.” Zoro’s half folded over the side of his bed, perched on a stool that looks like it lost the argument with his weight hours ago. His arms are folded on the mattress, his forehead almost resting on them, like he meant to sit and ended up half-praying. His forearms are bandaged – cuts, burns, who knows – and his hair sticks up in damp, messy tufts, like he either just showered or just got out of a flood.
His eye’s bloodshot, ringed dark. Locked onto Sanji’s face like if he looks away for a second, something terrible will happen. He says, blunt: “You’re an idiot.”
Sanji swallows, regretting it immediately because throat feels raw as hell, every movement reminding him how much seawater he aspirated. His voice is a croak. “Morning to you too. You look like shit.”
Normally that’d earn him a snort or the safe rhythm of their usual barbs but this time Zoro doesn’t bite. He just keeps staring, the way he might stare at a blade after it’s taken a bad hit, checking for hairline fractures. “ You almost died.”
“I almost die a lot,” Sanji says stupidly, because he doesn’t know what else to do but throw jokes at the yawning pit in his chest. “Part of the charm.”
Zoro’s jaw flexes. His fingers – Sanji realises only now that they’re bare – curl against the blanket, knuckles whitening. “Franky nearly tore the engines out trying to keep the place from sinking. Robin was giving us drowning statistics. We thought you were gone.”
The bandages sure don’t help how tight Sanji’s chest feels. There’s nowhere for all the feelings to go; it just presses outwards, looking for cracks. “Sorry,” he says automatically, because that’s the reflex. That’s always the reflex. sorry i worried you. sorry i failed correctly. sorry i’m here at all.
Zoro moves fast enough Sanji’s body flinches, expecting a thump to the head or a finger jabbed in his face, anything. Instead, fingers twist in the front of his hospital shirt as Zoro fists both hands in the thin cotton, right over Sanji’s heart, hauling him a few inches off the bed until their faces are far too close, breath ghosting warm across Sanji’s cheek. “Don’t. Don’t you dare apologise for fucking living.”
Sanji stares at him. Close up like this, he can see everything the bad lighting and the distance were hiding: the tremble in Zoro’s arms, the dried salt at the edges of his hair. The thin angry cut along his cheekbone that he hasn’t bothered to bandage properly. The way his eye shines too bright in the gloom, like if Sanji says one more wrong thing something in him’ll crack.
Sanji’s throat closes around whatever quip was loading and his eyes burn again, traitorous. He realises, with a kind of distant horror, that he’s shaking too, from the sheer, raw intensity of being yanked back into a life he almost slipped out of, by someone who looks at him like he’s not allowed to go.
There’s blood under Zoro’s fingernails; Sanji doesn’t know if it’s his or Zoro’s and he doesn’t know which answer would make him feel worse.
“I…” he starts, and his voice comes out wrecked. He clears his throat. Tries again. “I’m not – I just –” Great. Brilliant. Very eloquent. He’s talked his way out of death sentences, god. He’s lied to Yonko. He can charm a room of strangers without thinking and yet, now, faced with one swordsman and a handful of hospital linen his tongue turns to wet fucking cement.
Zoro doesn’t let go. If anything, his grip gets tighter. “What?”
Sanji swallows and tries very hard not to remember the water in his lungs or the sick, animal panic. He definitely tries not to remember the white noise in his skull when the line cut out and he realised his last words to Zoro might’ve been centred around a joke about cigarettes.
“I almost didn’t,” he hears himself say. “Live, I mean.”
Zoro’s eye goes sharp. “Yeah, no shit, I’m the one who dragged your soggy ass out of the world’s stupidest coffin. You trying to say thank you? Because you can keep it.”
Sanji chokes on a laugh that is trying pretty damn hard not to be a sob. “That’s not – you really are allergic to gratitude, huh?”
“Not allergic. Just don’t want it from you for that.” His jaw flexes. “I didn’t do anything special. You were drowning. I pulled you out. That’s it.”
“That’s not it,” Sanji snaps, too fast. The flare of anger surprises him; maybe it’s easier than whatever’s underneath. “Franky – you said he tore a hole in a prison to get to me. Luffy was laughing like a maniac and Robin had six extra arms and it was still your voice I heard. That’s – that’s not nothing.”
Zoro drags his gaze away, breathing hard. “Any of us would’ve done it,” he mutters. “For any of us.”
“Maybe, I don’t know. I only drowned the once.” It should be funny but it really isn’t. The silence that follows is thick and warped, like it’s passing through water. The words press at the back of his teeth again and he can feel them there, sharp and jagged and huge. How he almost said and it and, worse, how he wanted to die less than he wanted Zoro to know.
Zoro’s eye snaps back to his. “What were you going to say on the line?”
Sanji laughs, hoarse. “Wow, diving straight into that, huh?”
Zoro scowls, like it’s the stupidest question he’s ever heard. “You don’t get to start a sentence while you’re drowning and then decide it doesn’t matter after you live.”
Sanji licks his lips. His mouth tastes like… like cotton and salt and fear. “It’s stupid, it’s – it was a drowning thought, you know? The kind you get when you think you’re about to check out. All big and dramatic. Not worth –”
“Sanji.” Zoro’s fingers jerk on his shirt, dragging him a fraction closer. “Spit it out.”
He can feel Zoro’s breath on his face, that ridiculous cologne of steel and sweat and cheap shampoo and sun.
If he leans forward a few centimetres – he stops that thought dead, heart thudding hard enough he can almost feel it bumping Zoro’s knuckles. His eyes keep wanting to close; he keeps forcing them open, like staying awake’s the only penance he’s earned. He can’t keep his voice steady. “If I say it, I – I don’t get to unsay it.”
Zoro frowns. “That’s how words work.”
“That’s not – you’re not helping.”
“I’m not trying to help,” Zoro throws back. “I’m trying to get you to stop talking circles around yourself until you pass out again. You think I don’t see you doing that?”
Sanji flinches because he’s right – he can hear it himself. It felt like a clever trick for a second, but of course the other man sees through it. Zoro’s not subtle, but he’s not stupid.
He looks down, at Zoro’s hands in his shirt. “Look,” he says. “It’s not – it’s not exactly news that I’m messed up, right? I’ve got a whole pamphlet of reasons not to open my mouth right now. Number one, if you don’t – if this isn’t equal then I get to live on this ship as the idiot who made things weird.” His throat works. “Number two, even if it was the same, I just… you’re you, you know? And you’ve got your whole swordsman destiny carved in stone and the last thing you need is dead weight hanging off your side.”
Zoro’s eyebrows draw together. He looks genuinely confused and Sanji just cannot look at him anymore. “That’s not –”
“I’m not finished,” he pushes out, a little desperately because if he stops, he’s never going to be able to start again. “Number three, this ship is the only home I’ve ever had that wasn’t built on wanting something from me and if I screw that up because I can’t – if I can’t keep a fucking handle on my own bullshit then I don’t… I don’t know what’s left.”
He blinks hard, furious, but the heat in his eyes doesn’t go away. “And number four, I’m terrified.” The word rips out of him like a confession. “I’ve been in prison kingdoms and underwater hellholes and I have never been as scared as I am sitting here thinking about saying three words to your stupid face.”
There. It’s out, even if it isn’t the right three words. Zoro just stares at him, a muscle jumping in his jaw. He says, slowly: “You think that saying whatever this is would screw up the crew.”
Sanji laughs, short and frayed. “Everything I touch gets complicated, Moss. Seems like good odds.”
“Liar,” Zoro says and it should be a snap or a hiss or a scowl but it’s gentle, absurdly. It’s Zoro licking his lips and frowning at him, like he’s weighing up each individual word before it leaves his mouth. “You touch food and everyone stops yelling. You touch the helm in a storm and somehow we come out the right way up.” His fingers loosen in Sanji’s shirt, then tighten again, like he doesn’t trust them. “You’re not… poison, no matter what you think.”
Sanji’s throat closes around something sharp. He tips his head back against the pillow, staring at the ceiling again so he doesn’t have to see that earnest seriousness in Zoro’s stupid face. It makes his chest ache. He makes himself speak, clear his throat, fucking try. “I had a shot, down there with the water. I had a clear, clean exit. No consequences. I could’ve taken it and let you all get on with your lives without my drama. And I… and I didn’t. I don’t know how many more chances I get. We keep doing this, we’re all going to end up dead or worse at some point and I can’t – I can’t nearly drown with it in my mouth again.”
The room feels very, very small. Zoro’s grip eases, just enough that Sanji can breathe a little deeper, but he doesn’t let go. His voice drops. “Whatever it is, we can help. But we can’t fix it if we don’t know what the hell you’re talking about.”
He thinks it’s something they can fix, Sanji realises, with a little twist of hysterical fondness. Of course. Zoro only has two settings: hit it with a sword or hold it and growl until it stops moving.
“I don’t want you to fix it,” he says softly. “That’s the point. I don’t – I’m not asking for anything back. I just… need you to have it. In case.”
“In case of what,” Zoro demands.
“In case I don’t make it next time,” Sanji snaps, the words sharper because they hurt. “In case I drown somewhere nobody can punch through, in case someone else gets lucky. Pick your apocalypse, Moss, we collect them.”
Zoro jerks like the flood hit him instead. “Don’t talk like that. You’re here.”
“For now, sure. That’s the fucking point.” His vision blurs and he realises belatedly that it’s tears, because of course his body would choose now to leak in yet another undignified way. He scrubs at his face with his free hand, furious at himself but it just smears the wet around. “Fuck, this is humiliating. I’m gonna throw myself back in the sea.”
“You move and I’ll tie you to the bed,” Zoro growls, then aborts the words midway, ears going pink. “I mean, not like –”
Despite everything, a noise fights its way out of Sanji, mostly sob. He can hear the ship above, hear the faint rush of waves along the hull and the hum that carries him to sleep each night. Somewhere above is Luffy’s distinct bellow. Life, rolling on.
If he says it, he might lose it. If he doesn’t, he already knows exactly how it feels to go under with it stuck behind his teeth. His heart’s knocking so hard he feels lightheaded and he could – he could blame it on blood loss, later. On drowning. On anything but what it really is. “I care about you.”
Zoro snorts, exasperated. “That’s not news.”
Sanji squeezes his eyes shut. “Shut up, I’m not done.” The next words scrape their way up like they’ve got claws. “Not just – not just crew. Not just nakama. It’s…”
He sees the tiny, absurd vignettes: Zoro asleep in the sun. Zoro training at dawn. Zoro bracing himself in front of Luffy on some burning rooftop. Zoro’s voice in the water, yelling his name like a curse and a prayer. His voice shakes now, no point in hiding it. “It’s you, I’m in love with you.”
Sanji feels them leave his mouth like he spat out something sharp and bright and vital and there’s a moment of dizzying relief – he did it, he said it – and then terror floods in, cold and huge, rushing back into the space the fear vacated.
He doesn’t look; he can’t look. Every muscle in his body wants to flinch away from whatever’s on Zoro’s face, from confusion or horror or pity. From that thing where he laughs it off, or worse, goes very gentle and says I’m sorry.
“Forget it,” Sanji blurts, too fast. “Don’t – you don’t have to – just pretend I didn’t –” His babbling cuts off because Zoro’s hand leaves his shirt and for a split second the absence feels like a fall. Then fingers close around his wrist instead, firm and shockingly careful, right over the pulse hammering there.
Zoro lets out something that might almost be a laugh if it weren’t so wrecked. “You think you’re the only one who’s been stuck on not saying it in case it ruins everything?” His grip on Sanji’s wrist tightens, just a fraction. “You think you’re the only coward in this room?”
Sanji’s heart lurches hard enough to make him dizzy. “Zoro,” he says, desperate and terrified, hope lancing through him in a way he doesn’t know how to handle. “Wait, what’re you – don’t say something just because I –”
“I’m not,” Zoro snaps, sharp again. Then his voice drops, hoarse. “I didn’t think this was… possible. That’s the word, right? I thought it was stupid, that you’d never… I thought at best I’d die with this and nobody’d ever have to know how pathetic it was.”
The room tilts. Sanji has a fleeting, absurd thought that someone should probably tell Chopper his patient’s blood pressure is doing something illegal. “What are you saying?” he whispers.
Zoro looks at him like he’s the world’s densest idiot. “I’m saying you’re not alone. I’m saying I’ve been in love with you for so long I forgot there was a word for it. I thought it was just a new kind of stupidity I’d picked up.”
The world goes very, very quiet. Sanji can hear everything and nothing at once: Chopper’s snuffling breaths, the distant splash of waves, the wild drum of his own heart.
“Oh,” he says again, because his entire vocabulary has apparently been reduced to vowels. Something loosens in him then, wrenching and painful, like a knot pulled out of old wood. He feels the tears spill over properly now, hot tracks down his temples into his hair. “Fuck,” he says, voice breaking. “You can’t – you can’t just say that back. It’s supposed to be a whole tragic thing, you’re ruining my narrative –”
He doesn’t get to finish because Zoro kisses him, clumsy and desperate and real. Sanji makes a sound he’d be horrified to hear played back, a little broken noise in the back of his throat. His free hand scrabbles for purchase and finds Zoro’s shoulder, the solid bulk of it, the familiar ridge of muscle. It feels like the most dangerous thing Sanji’s ever done.
Zoro pulls back, breathing hard, eye blown wide. He looks halfway between sick and elated. He leans their foreheads together, just for a second, carefully avoiding the worst of the bandages and for the first time since water closed over his head and the world went thin and far away, Sanji feels… not safe, exactly but tethered. Pulled back. Held in place by something other than duty and habit and stubbornness.
“You’re serious,” Sanji says without thought and hates how it comes out, thin around the edges, like a thread that’s been pulled one time too many. He sounds… breakable. He doesn’t like it but he also can’t seem to fix it.
Zoro’s face has none of the usual bluster, only that stubborn, unyielding focus he saves for things like don’t die. “This is real to me. I wouldn’t joke about this,” he says, quiet.
It’s such a Zoro way to phrase I love you that something inside Sanji just cracks, a laugh stumbling out of him wet and ragged and halfway strangled. His chest hurts in a whole new way. He hears himself say, voice shaking: “I was so sure that you didn’t… that it was just me being me.”
Pathetic. Overdramatic. Hungry for things he can’t have. The usual suspects.
Zoro’s mouth twists, somewhere between annoyed and fond. “You think I look at anyone else the way I look at you?”
Sanji’s brain does a short, stunned stop: Zoro’s eye finding him after every fight, scanning for blood. The way Zoro always notices if he skips a meal, the rough, quiet: “Don’t” when Sanji lights a cigarette too fast after certain kinds of nightmares. The way he’d sounded on the snail in that flooding metal coffin, voice stripped down to wire and sparks.
His pulse starts doing weird, skittering laps. Hope – raw and bright and ugly with how much it hurts – crawls up under his ribs like a living thing.
Zoro exhales slowly, like he’s been holding that breath since the DenDen cut out. His shoulders drop a fraction even as Sanji’s hand squeezes it. “I don’t know how to do the soft version of this,” he says. “I’m going to fuck up. I’m going to say the wrong thing, and push too hard or not enough, and probably piss you off a lot. I’m not built to… fix things. I’m built to break them.”
There it is. The part that sounds too much like Sanji’s own list, rewritten in Zoro’s blunt handwriting, Zoro’s own fears. He thinks of the wheel that wouldn’t turn, the door that wouldn’t open, the way metal howled when someone finally did break through. Thinks of Zoro’s hands hauling him out of the sea, fingers bruising his arms like he could anchor him by grip alone.
“We’re both messy,” he says quietly before he can pretty it up. He forces himself to keep going, because if he stops now he’ll never start again. “Better messy together, right?”
Zoro’s eye flares. There’s a sharp breath, like he’s just taken a hit to the ribs. Then – against all logic, all the gnawing panic in Sanji’s chest – he laughs. Just once, short and surprised, like he can’t quite believe himself. “You’re a terrible negotiator.”
“You like me anyway,” Sanji manages and oh, it feels dangerously good to say that. To claim it, even shakily. To let the words exist outside his skull. He can feel the sharp thud of Zoro’s pulse under his fingers, a beat he’s been unconsciously listening for for years. “Unless you’re just saying this so I… die happy or whatever. I-If that’s the case, then, well I can live with that. I mean, apparently I can’t manage the ‘die’ part, so clearly my track record’s shit but –”
“Sanji,” Zoro cuts in. “I’m not saying it so you die happy, I’m saying it so you live with it.”
Sanji’s mouth goes dry. “That’s worse,” he croaks.
Zoro rolls his eye, but Sanji’s close enough to pick out the fondness there. “For you, maybe. Look, you almost drowned like an idiot a few hours ago. Chopper’s going to kill me if you pass out again because I stressed you into a relapse. So here’s the deal.” He leans in a fraction closer. Sanji can feel his breath on his cheek now, steady and cool. “We don’t decide everything tonight. We don’t name it. We just start with this: we both want this. That’s not changing because you’re scared or I’m stupid.”
His thumb shifts against Sanji’s wrist, the gentlest stroke, like he’s smoothing out a crease. He continues like the most insane sentences in the world didn’t just get spoken aloud. “And after you sleep and Chopper stops yelling at both of us, and Nami’s finished chewing me out then we talk. Properly. About what you want or what you don’t want or… what you’re scared of. What I’m going to screw up. All of it. As many times as we need to.”
Sanji blinks. The idea of talking about it more, of poking at this raw, terrifying thing with words over and over, makes his stomach flip but underneath the panic there’s something else: a fragile, stunned kind of relief. Zoro’s not trying to lock him into anything. Not dragging a label over his head. Just… offering.
“And if I can’t…” he starts, then stops, throat too tight. “If I can’t give you all the things you could get from someone simpler. Someone who isn’t this.”
Zoro’s grip on his wrist tightens. “Then we figure it out. We find a way for it to work, I don’t care.”
Sanji’s breath stutters. “You don’t care,” he repeats, disbelieving.
“I don’t care what’s normal or what you think you need to be. When the hell has anything been simple for us? I just care that it’s you and that whatever we do, we both make it through in one piece.” He hesitates, then adds, quieter: “I don’t need some… perfect picture in my head. I just need you sitting in my kitchen talking shit for the next fifty years. That’s it.”
Something hot spills over in Sanji’s chest. His eyes burn, harder now, vision going blurry around the edges and he ducks his head, biting down on his lip, but it’s useless; the tears breach anyway, hot and humiliating and unstoppable. “Fuck,” he whispers. “Fuck, this is –”
Too big. Too much. Too good.
Zoro shifts in closer, the stool creaking, looking at Sanji like he’s trying to learn his face by heart. Like he’s standing on the deck in a storm, picking out landmarks. “We’ll figure it out. Slow, wrong, messy. Whatever it takes. We’re not… suddenly something completely new just because we said it out loud. We’re still us.”
“You make it sound easy.”
Zoro snorts. “No, it’s going to be a bloody nightmare. You’re an overthinking drama queen and I’m – I’ve never done this before. But I’m not going anywhere.”
Sanji’s hand tightens over his. “Promise?” he hears himself ask, hating how young he sounds. How naked.
Zoro’s expression softens in that tiny, almost imperceptible way only people who really watch him would ever catch. “Promise.” No hesitation, no fanfare. Just that and the word settles over Sanji like a blanket that’s warm and heavy and absolutely terrifying.
Zoro presses a kiss to the back of his hand, to the centre of his forehead and Sanji just – breathes him in, pulls him closer, kisses him back with his heart beating in his throat.
“See?” Zoro says, voice barely above a whisper. “Still alive.”
Sanji inhales slowly, trying to fight the smile that bubbles up and losing terribly. “For now.”
Zoro smirks, but it’s soft-edged. His fingers trace the curve of Sanji’s mouth before he steals another kiss. “For a long time, I reckon.”
Sanji’s still scared shitless. His ribs still hurt, his future still looks like an overcomplicated recipe written in a language he only half-speaks. But Zoro’s hand is in his. Zoro’s promise is in his ears. He’ll panic about it later, he knows. He’ll list every reason it’s doomed, every ways he could hurt Zoro or ruin the crew or screw this up beyond repair but right now – right now he lets himself want, lets himself be wanted.
“Yeah,” he breathes, letting himself smile against the curve of Zoro’s neck, warm and here and his. “Yeah, I hope so.”
x
sorry this turned out sooooo long, i kept getting distracted by The Perils <3
i’m begging you for a follow up to the sex edc post 🙏
i got you, boo (aka i started writing this p much straight after bc i couldn't Stop)
x
Zoro’s been in more life-or-death battles than he can reasonably count and yet none of that prepares him for Sanji’s thighs.
It happens on one of those afternoons where the heat sits heavy on the Merry, turning the air into something you nearly have to swim through. The sun hits the deck like an attack, the wood hot under bare feet and the horizon itself wobbling with mirage shimmer.
Zoro’s doing something productive, at least: squats with a barbell, breath steady, muscles burning in a way that makes sense. Reps. Counts. Rhythm. He’s midway through a set when the galley door bangs open and Sanji wanders out in – shorts.
They’re not even indecent ones, is the thing. They’re just… rolled high enough to clear his knees, low enough to be technically respectable. It’s practical, for the heat, for the kitchen, for anyone who isn’t Zoro. From the waist up he still looks like himself – fancy shirt, tight sleeves, towel slung lazily around the back of his neck. From the waist down, Zoro’s life ends. His thighs are tan and lean, lined with the kind of muscle you get from years of kicking ships apart. Smooth skin over coiled power.
Zoro’s brain does not process this calmly. In fact, his grip slips. The weight lands on his foot.
The pain comes a heartbeat later, hot and sharp and immediate. Zoro makes a noise he’ll deny under torture, not a scream but more like a strangled GNK! that explodes out of him as he hops on one leg, barbell rolling traitorously away.
“Oi, dumbass, watch where you’re drop –” Sanji sees him and stops mid-scold. There’s a frozen beat where clearly he takes in the scene: Zoro half-crouched, clutching his foot, face twisted, barbell gently clanging against the rail.
Then he loses it, laugh loud and bright, full-bodied. Throws his head back until his throat stretches, stupid little beauty mark jumps with the movement. It cuts right through the heat haze, sharp as a blade. “Oh my god.”
“Shut up,” Zoro snaps, trying very hard not to hiss through his teeth. His toes are throbbing in time with his heartbeat. “You – you shouldn’t walk around dressed like that. It’s a hazard.”
Sanji blinks down at his own legs before he looks back up, slowly, like a man unwrapping a present he didn’t know he’d ordered. “Oh?” he says, voice gone sly. “And what does that have to do with anything, Moss?”
Zoro stares like an idiot, his mind a very dignified screaming chorus of THIGHS THIGHS THIGHS. The flex when Sanji shifts his weight. The way the hem of the shorts cuts right across the sweetest part of his quad. The impossible, intrusive thought of what it would feel like to have those thighs bracketing his hips. Or his head. He's not fussy.
He yanks his gaze upwards so fast his neck pops. Sanji’s smirking at him around a cigarette, blue eyes bright with amusement that’s not the usual mocking edge but something warmer and sharper.
“Nothing,” Zoro mutters, ears burning so hot he’s shocked the weather doesn’t change. “It’s unsanitary. You’ll get… grease. Or something.”
“Grease,” Sanji repeats like he’s tasting a fancy wine he didn’t pay for. He takes a long, slow drag, lips closing around the filter, throat working. He never looks away from Zoro’s face.
Zoro’s jumped from taller places than this ship but his stomach has never swooped quite like this.
“Maybe you should wear shoes when you train,” Sanji continues mildly. “For safety. Wouldn’t want you injuring your delicate little toes.”
“I’ll show you delicate –”
But Sanji’s already turning, shorts shifting, muscles rippling under skin as he strolls towards indoors again, whistling something smug. The door swings shut behind him with a click that sounds way too satisfied.
Zoro stays where he is, hunched, clutching his foot, caught between wanting to slam his forehead into the deck until he passes out and wanting to fling himself after Sanji and lock him in a pair of full-length pants.
He looks down to where his toes are already bruising, blooming purple. It doesn’t even crack the top ten of aches in his body.
He is so, so unbelievably fucked.
x
He soon comes to realise that the worst part of nursing some godawful teenage crush is the swing of it.
He’s fine – better than fine! – when there’s a fight. When steel is in his hands and the world shrinks to distance and timing and he can read the arc of an enemy blade, the shift of a stance, the micro movement that means Sanji’s about to pivot left into a spinning kick and that Zoro needs to either step right or get a heel to the head.
In battle, their rhythm is easy, fierce and wordless. They move around each other like they’ve been doing it for months, because they have. Zoro doesn’t have to even think about where Sanji is anymore.
Then the dust settles and the blood dries and the adrenaline drains out and then Sanji finally smiles. Not the flirty, theatrical one he hands out to every woman in a ten island radius or even the sharp little smirk he uses when he’s baiting Zoro into an argument but the real one. The one that flashes out when he sees the crew alive and relatively intact after a bad fight. Small, crooked, disbelieving. Like he can’t quite believe they pulled it off again and he’s equally relieved every time.
Zoro’s armour – every cultivated habit of not-caring-too-much – just fails. It’s particularly bad after that one raid on the little port town that thought hiring a bunch of third-rate bounty hunters would scare pirates away. They’re standing on the dock afterward, the sun going down bloody and gold over the water, their new wanted posters flapping on a big wooden board, still wet from being slapped up. Luffy’s cackling over his latest silly-face portrait in amongst Usopp’s complaints his bounty isn’t high enough.
Sanji’s got a cut on his cheek, long and shallow, drying in a red curve. There’s soot smeared over the bridge of his nose, a streak of it down his neck where he wiped his face with a dirty wrist. He looks horrifically good.
“Your poster got a new drawing,” Usopp crows, slapping a sheet of paper against Zoro’s chest hard enough to puff dust. “They finally fixed your bounty.”
Zoro grunts and peels it off to confirm that yeah, the number’s higher. Whatever. He’s more distracted by the way Sanji leans in to look, the way he comes closer casual as anything. Shoulder-to-shoulder, his body heat soaking through Zoro’s shirt like he belongs there. His hair brushes Zoro’s ear, damp with sweat and blood, probably.
“They made your scar look cool,” he says, eyeing the sketch. “That’s generous.”
The word cool lands in Zoro’s chest like an unexpected punch which is just so, so stupid. People have called him worse and better, he’s never cared much either way. But hearing it in Sanji’s offhand, matter-of-fact tone – like it’s just an observation, like of course he looks cool, that’s just what Zoro does – jams something in his brain.
His knees do a thing. Not buckling, exactly, because that’d be lame but just… a little miscalculation. For a terrifying second he forgets how balance works so he shifts his weight and he stumbles on flat wood.
Zero obstacles. Zero enemies, bar gravity and humiliation. He catches himself before he actually eats dock, but it’s pretty damn close. His hand shoots out to grab the edge of the bounty board but Sanji’s reflexes are faster. His fingers hook into the waistband of Zoro’s haramaki, tugging him upright with a tug.
“Easy there, tough guy,” he drawls, close enough his breath touches Zoro’s jaw. “Too many brain cells lost in the fray?”
Zoro stares at him, heart beating way too hard, rocketing around at battle pace for no damn good reason. Something violent and stupid flares in his chest: an urge to lean in the last few centimetres, to kiss that ridiculous soot mark off his nose. To bite that cut on his cheek, just to see him swear.
He doesn't do any of that. He does the next best thing and glares like his life depends on it. “Your face looks stupid on your poster,” he snaps and it’s not even a good comeback. It’s measurably lame, in fact, but it's all he has right now.
Sanji’s grin widens, bright and sharp. “Yeah? Good.”
Which is insane. Who likes being called stupid-looking? Who gets happy about that? What is wrong with this man?
(Everything, Zoro thinks, with a sinking, vicious sort of fondness. Everything is wrong with him. And Zoro apparently likes every single bit.)
x
Sanji’s precision is the first thing that really, truly does Zoro in. Not the kicks: he clocked those back at the Baratie. Those are just physics, just leverage and momentum and strength and stupidly long legs. He respects that. Files it under dangerous weapons, do not stand in front of.
It’s the hands. The knife work. The way Sanji’s fingers move in the galley: quick, exact, never wasting a millimetre. Watching him cook is like watching someone run through a sword kata with their wrists.
One night, stupid late, when the ship’s rocking gently and the rest of the crew's knocked out cold, Zoro wanders toward the galley because he can’t sleep and his brain’s chewing itself. He’s expecting dark and quiet and stolen sake. Instead, there’s a low pool of light spilling under the door.
Sanji’s at the bench, the rest of the kitchen is shadowed. Only the little oil lamp over the bench is on, turning the flour in the air into drifting stars. His cigarette’s tucked behind his ear instead of between his lips and his hair’s tied half back, a few strands stuck to his forehead with sweat. He’s working a mound of dough with the heels of his hands: press, fold, turn, press, fold, turn. His mouth moves, counting under his breath, shoulders relaxed in that rare way Zoro almost never sees.
Zoro stops in the doorway and just… watches the way it’s familiar and also so not, the same kind of focus he feels when he runs through his own drills. Precision, force, restraint. Sanji’s strong enough to crack bone with those hands and he’s using them to coax butter and flour into behaving. In his chest, Zoro’s heart does something awful and slow and heavy, something woollen and aching, like a bruise forming under the skin.
“Gonna stare all night or you want something?”
Zoro should leave but his feet betray him, carrying him to the far end of the bench like he lives there, elbows on the wood, pretending his heart isn’t pounding for no valid tactical reason. “Could eat,” he grunts.
“You could always eat,” Sanji mutters but his mouth quirks, soft. He reaches automatically for a bowl. “How’re the idiots?”
“Snoring. Luffy drooled on Usopp’s face again.”
“Good, means I did my job.” He turns away, rattles around for a moment, then sets something in front of Zoro with the casual efficiency of a man loading ammo.
It’s a roll, still warm, its crust glossy with butter. Zoro blinks at it, briefly wrong-footed. “Did you make this?”
“You think bread just appears, seaweed head?” Sanji scoffs, reaching for his dough again. “Eat.”
Zoro does. It’s… ridiculously good. Soft inside, chewy in exactly the right way, the crust cracking just enough under his teeth. Perfect balance of salt and fat, as always, and his whole body goes oh like he’s just come off a week of rations.
He tries not to make a noise about it but a sound escapes his throat anyway, a tiny groan of honest pleasure and Sanji’s hands pause, just for a second. Then he glances over and Zoro gets hit full in the face with one of the rarest sights on the sea. Sanji smiles, crooked, almost shy around the edges, like Zoro’s reaction has reached a part of him that doesn’t usually get fed. “You like it?”
Zoro’s fork – when did he get a fork – stops halfway to his mouth. His throat feels tight in a way that has nothing to do with how fast he inhaled the first bite. “Obviously. You’re not a half-assed cook.”
It’s the most straightforward compliment he knows how to give.
Sanji looks at him for a heartbeat too long with a flush at the tops of his ears, faint and pink under the flour dust, and Zoro’s hands actually itch with the urge to see if they’re as warm as they look. To press his mouth there, to see if he can taste flour and salt and smoke.
“Yeah,” Sanji says, half to himself. “Right.”
Zoro’s skin is suddenly the wrong size: this is too much, too close. He’s sitting in a quiet kitchen watching a man knead dough and his body’s reacting like he just got punched and kissed at the same time. He panics in the only way he knows how: by being an asshole.
He jerks his chin at the resting dough. “That for us or are you making treats for your imaginary girlfriends again?”
Sanji doesn’t even look – just snags a tea towel and flings it at his head with sniper accuracy. “Get the hell out of my kitchen, Roronoa,” he says but there’s no real heat behind it. “Before I shove you in the oven and see if idiot bakes at 180degrees.”
Zoro peels the towel off his face, fighting a grin he doesn’t want Sanji to see, and shoulders the door open. Out on deck, the night wind is cool against his overheated face.
He’s halfway to the training room when he realises his heart's still going way too fast.
x
The thing is, the softness would almost be survivable if that's all it was, but it’s not. The wanting comes sharp, too, mean around the edges. It flares whenever Sanji’s temper snaps, whenever some idiot out in the world forgets how to keep their mouth shut.
They hit some noisy little island where the markets sprawl out from the port: crates and stalls and people shouting over each other. It’s the kind of place where gossip's a sport and pirates are just more faces in the crowd. Sanji’s haggling over fish at a stall, forearms braced on the counter, trading barbs with the vendor. Zoro’s two shops over, checking the weight of a cheap katana and deciding whether it’s worth buying just to have something to throw.
He almost misses it.
“Cook’s pretty,” a voice sniggers from the next stall over. “Bet he’s fun to –”
Zoro doesn’t remember deciding to move. One second he’s comparing balance and edge and the next his body’s turned, grabbing a fistful of some asshole’s collar and dragging him half over his own table. “What was that?” he asks, very calm.
The guy’s eyes bug. He smells like old fish and cheaper rum. “H-hey, man, I didn’t mean –”
“Didn’t mean what?” Zoro says. There’s a hum under his skin, that familiar dark, quiet place that only opens up in real fights. It surveys this squirming idiot and finds him very lacking. “Didn’t mean to be a creep?”
The stall shakes. A basket of shells rattles, one rolling off and smashing on the ground.
Behind him, Zoro’s voice is as sharp as a thrown knife. “Zoro.”
Zoro releases the guy. Well…. he lets go, sure. The guy also definitely flies backward into his own display, scattering goods and dignity everywhere but he’s technically released, so.
Sanji’s standing there with a bag of fish in one hand, jaw clenched, eyes cold in a way Zoro hates. “I had it,” he says, dangerously calm.
“I know,” Zoro answers and he does, truly. He’s seen Sanji wreck louder jerks for less. Sanji can stand up for himself and just about everyone else without missing a beat. He honestly can’t explain why this time his body moved first, why the idea of those words hanging in the air unanswered made something in him go feral.
He just… couldn’t let it stand. Not this one. Not about him.
Sanji’s throat works. He looks away first, a short huff of breath leaving him. It could be a laugh if you squint. “Gonna get yourself banned from every island at this rate.”
“Good. Less walking.”
Sanji snorts, the line of his shoulders loosening half a notch. “You’re such a brute.”
“You like brutes,” Zoro says before his brain can throw itself bodily in front of his mouth.
Sanji’s head snaps up. His gaze flicks over Zoro’s face fast, like a hand patting down a wound for damage, lips parted in surprise, eyes bright.
Suddenly he’s excruciatingly aware of himself: sweaty shirt stretched over his chest, the scars on his arms, the way his hand is still curled from grabbing that guy. He wonders, wildly, what Sanji’s seeing. Just an idiot crewmate? A problem? Something more?
The moment stretches, tight as a bowstring. The crowd noise blurs around the edges. Zoro feels that now familiar pulse in his stomach, hot and wanting and thoroughly inconvenient, like an urge to climb over the stall and kiss him stupid and also deck him for making him feel this way.
Sanji looks away first, mutters: “In your dreams,” and stalks off back toward the fish market, all sharp angles and irritated elegance.
Zoro watches him go, jaw clenched and hands flexing. He tells himself his reaction was about respect. About backing his crewmate up. About generic, honourable outrage. His heart, asshole organ that it is, whispers the real answer: you know he can handle himself but you still want to be between him and every shitty gaze in the world.
He should be scared, probably, of how fast all of this is getting worse.
Instead he just feels… hungry. For another laugh in low light. For another touch. For another stupid, dangerous moment where he says something he shouldn’t and Sanji looks at him like maybe, just maybe, he likes it.
He doesn’t know what to do with any of it, so he does the only thing he knows: he trains harder. It doesn't help. The swing between deadly competent and complete idiot just… widens.
On a dangerous reef, with the wind trying to throw them sideways and waves rearing up out of nowhere, Zoro’s fine. Better than fine, in point of fact. He’s all perfect focus, weight balanced, reading the break of the water and the teeth of the rocks like they’re inked on a map only he can see. He barks course corrections at Usopp, braces on the rail with rope burning his palms, shoulders locked as the Merry knifes through a gap that should’ve taken her figurehead off.
Nami claps him on the back after. “Nice calls,” she says and he grunts and it sits right. This is familiar. This, he understands.
Then, an hour later, back in calm water, Sanji pushes his hair off his forehead with the heel of his palm and stretches his back after a long shift in the galley, shirt riding up a little, lean lines of his waist flashing and Zoro walks directly into the mast.
He hits it hard enough that his vision whites out for a second, shoulder ricocheting and swords clattering against wood. His skull thunks loud enough to make Luffy look up from wherever he’s tormenting Usopp.
“Are you kidding me?” Sanji’s already laughing as he catches Zoro by the elbow to steady him. “You were literally just telling Luffy to watch where he’s going.”
“The mast moved,” Zoro mutters. The world is ringing. His ears feel hot. His everything feels hot.
“Uh-huh.” Sanji’s hand is firm and warm around his arm, his fingers digging through fabric, callouses pressing into Zoro’s skin just enough to register through the ache. The contact is so stupidly grounding Zoro could scream. “Sure it did, sweetheart.”
Everything inside Zoro stops dead in its tracks.
Sanji calls a lot of things sweetheart. Nami-swan, literally any woman within a six-island radius who glances his way. It’s part of the bit, part of the layer of cartoon hearts that Sanji uses as armour. He doesn’t usually fling it at Zoro, though. Not like this, low and amused and almost fond.
Zoro’s stomach swoops, heat punching low and sharp in a way that is deeply, deeply unhelpful when he’s standing in the middle of the deck surrounded by witnesses.
He tries not to react, he really does. He schools his face into a scowl, drags air into lungs that have apparently forgotten how to operate, fights the urge to yank his arm out of Sanji’s grip and lean into it at the same time. His ears betray him, though: he can feel the burning heat crawling down his neck.
Sanji’s eyebrows tick up, slow and delighted, like he’s just uncovered a secret trapdoor. “That fragile ego of yours can’t handle a pet name, huh?”
“Shut up,” Zoro growls, yanking his arm back before he does something unforgivable like pull Sanji closer. “Call me that again and I’ll –”
“What?” Sanji leans in, cigarette smoke curling from the corner of his mouth, eyes flicking down Zoro’s face like he’s cataloguing reactions. “Blush harder?”
Zoro makes an absolutely undignified noise halfway between a snarl and a choke and stomps away because he doesn't trust his own body. Not his mouth. Not his hands. Not the way his heart is trying to climb out of his ribs and throw itself at the cook’s feet.
He hears Usopp cackling from the railing. “Hey, Sanji, I think you broke him!”
“Good,” Sanji replies, smug. “Maybe it’ll knock some sense into him.”
Zoro trains so hard that afternoon he actually throws up on the grass. Luffy cheers like it’s a sport but Zoro wipes his mouth and keeps going; he’ll take physical nausea over whatever the hell Sanji just did to his brain any day.
That night, he dreams that it happens again, but quieter. No deck, no witnesses. Just the hush of the ship in the dark and Sanji’s hand on his chest, thumb brushing his scar, saying sweetheart against his throat like a secret.
x
Sometimes it’s funny, sometimes it hurts. Most of the time it’s both at once.
He’s up in the crow’s nest, doing one-arm push-ups with a weighted pack, feeling good – loose, strong, like his body’s doing exactly what it’s meant to do. The horizon’s clear, the sky huge and sharp with sun and for a moment his path is a straight, clean line again.
Then Sanji leans out of the galley hatch, cups his hands around his mouth and yells: “Dinner!”
Something in Zoro lights up like someone rang a bell inside his ribs and he knows it’s not hunger. His stomach answers, sure, but that’s background noise. The main thing is the relief: oh. good. he’s there. he’s cooking and we’re home.
He lies there on the warm wood, catching his breath, and thinks very carefully: i like him. It feels less like an admission and more like diagnosing a fever he’s been running for months.
Later, alone in the tiny strip of shadow behind the storage room, he thinks, even more quietly: i want him.
His face goes nuclear instantly, even with nobody around to see. It’s not just that Sanji’s hot, because that’d be simpler. God knows it would be easier if it were just thighs and hands and that infuriating mouth.
But it’s everything.
It’s the way Sanji laughs like he doesn’t quite trust it and then leans in anyway. It’s the way he flinches, barely, at certain jokes and then smooths it over with a brighter smile. It’s how he sits up all night when Nami’s fever spikes, changing cool cloths with that exact same surgical efficiency he uses on a fillet. It’s how he listens to Usopp’s wild, impossible stories like they’re gospel, nodding along, offering snack refills at the good parts.
Zoro doesn’t know if he’s allowed to want to be the person Sanji leans on when things go very bad. When his moods gut him from the inside, when whatever past he’s running from claws its way up his throat. He doesn’t know if he gets to imagine Sanji asleep against his shoulder on night watch, safe and warm.
So he keeps it quiet. Lets it chew through him in private, in the dead space between battles and meals and stupid screaming matches about whose turn it is to scrub the deck. He trains. He learns. He tells himself he’s got discipline coming out of his ears: he can handle wanting. He just adds Sanji to the crowded shelf in his head labelled things you don’t get to have and tries to move on.
The problem, though, is that the ship is small, the sea is endless and time's a fucking menace.
Nami starts pairing them on night watch more and more often, saying they’re the two least likely to fall asleep standing up which is an outrageous lie but Zoro doesn’t call her on it because he can’t bear to see how smug she would get. The nights are a stretch of black ocean and pinprick stars and, on night shift, the world narrows to the circle of golden light and the soft hiss of Sanji’s cigarette.
Sometimes Sanji talks and at first it’s simple stuff like complaints about the last island’s produce, or praise for a fish Usopp caught, or grumbling about Luffy’s latest attempt to see if he can bounce off lightning.
Then, little by little, things slip out sideways. Stories about North Blue winters so cold his hair froze to his scalp. Baratie nights, the restaurant rocking in storms while they served drunk sailors soup like nothing was wrong.
Zoro listens. He doesn’t always know what to say – he doesn’t have Nami’s emotional intelligence or Usopp’s vocabulary of words – but he knows the difference between when someone’s filling the air and when they’re handing him something heavy. He sticks to simple things, true things.
“That sounds like it sucked.”
“Those people were idiots.”
“You did good anyway.”
Sanji blows smoke at the moon. “You’re terrible at comfort.”
“You keep talking to me,” Zoro points out.
“Yeah, well.” Sanji’s mouth twists, the curve almost embarrassed. “Your stupid face is… calming.”
Zoro doesn’t know what to do with that so he tucks it away with sweetheart in the mental box labelled Things That Will Destroy Me Later.
It all gets infinitely worse the day he realises Sanji is flirting back… or maybe he always was and Zoro just finally puts the pieces together.
It’s in tiny things – in the way Sanji’s fingers lingering a breath too long when he rewraps Zoro’s bandages after a fight, thumb brushing the inside of his elbow, the skin there prickling in response. In the way Sanji’s eyes drop, unhurried and blatant, to Zoro’s mouth when Zoro licks blood from his lip.
In the way he says, offhand: “You look good in red,” when Zoro comes back from a brawl with someone else’s blood sprayed up his shirt.
Zoro tells himself he’s imagining it, that this is what happens when you let a crush rot your frontal lobe. Then, one lazy afternoon, Sanji’s weaving through the galley with three heavy plates balanced on one forearm like it’s nothing. Zoro’s sitting at the table, halfway through a cup of over steeped tea, pretending to read the paper Nami left there.
Sanji has to squeeze by behind him so he leans in, close enough that Zoro can feel the heat of him along his back, and murmurs right against his ear, low and amused: “Careful, love. Keep glaring at me like that and I might start thinking you actually want something.”
Zoro inhales tea. The coughing fit’s immediate, spectacular and absolutely fucking humiliating. He chokes hard enough his eyes water; Sanji just laughs and moves away, the warmth of his body disappearing like someone opened a window.
“Don’t murder my first mate with spicy commentary,” Nami says dryly from the other end of the table, not looking up from her charts.
Usopp, halfway through a bite of bread, freezes. He looks from Sanji’s retreating back to Zoro, who is red-faced and clutching his cup like a weapon, and his eyes go huge. Very slowly, very clearly, he mouths holy shit and Zoro kicks him under the table hard enough to rattle teeth.
Usopp yelps but he’s grinning, a cat-with-cream kind of grin.
Zoro’s heartbeat does a wild, stupid stutter-step. Because yeah, okay, maybe he’s been trying to pretend this is just him, just his problem. Just his sleepless nights and his traitor hands wanting to find out if Sanji’s hair is as soft as it looks.
But Sanji’s out here saying love in his ear like that’s fine. Like that’s normal. Zoro doesn’t know if it’s hope blooming in his chest or just a new, more complicated sort of dread. All he knows is that the next time he remembers Chopper saying: “If you ever want to do anything with anyone, come talk to me,” his first instinct isn’t to scoff again.
It’s to wonder, violently, desperately: what if?
x
The crux of it all is: being nineteen is hell. Zoro’s always thought his body was simple: feed it, train it, point it at a target. Now it’s like living in a possessed house, doors slamming on their own. Lights flickering. No-one in charge.
He’ll be fine – talking, arguing, trading blows – and then Sanji’ll tilt his head back to knock his hair out of his eyes, throat stretching, and Zoro’s thoughts go straight off a cliff.
He wants to hold Sanji’s hand in a market, fingers slotted together, easy and casual and allowed. He wants to rest his chin on Sanji’s shoulder while they stand in line at a stall, feeling the little huff of breath against his cheek when Sanji complains about prices.
He also wants to push him up against a bulkhead and grind him into the wood until that sharp, clever mouth goes slack and messy, until Sanji’s hands are fisted in his hair, until he makes a sound Zoro’s never heard from him before.
Those wants sit side by side in his chest – hand-holding and rutting, soft-nothing whispers and filthy, wordless heat – and he doesn’t know what to do with either of them, let alone both at once.
It’s exhausting.
He runs the Merry end-to-end until his lungs burn and his knees ache. He lifts until his arms tremble and the bar wobbles. He does push-ups until his shoulders feel like someone’s sawing through them. The ache in his muscles is clean and understandable and at least he knows what to do with it.
The ache in his chest doesn’t budge.
Nothing changes until the bounty hunters, and the funniest part of all is that they’re nobodies, really. Third-rate mercenaries with more bravado than training but they still come at the crew on some shabby dock with nets and smoke bombs and a lot of talking smack.
Zoro doesn’t even bother drawing all three swords at first.
He still takes a hit during the brawl, a club to the ribs that sneaks in under his guard. It’s not bad but every breath after that is sharp-edged.
Chopper yells at him for five minutes straight in the infirmary while wrapping bandages around his chest. “You can’t just take blows because you have abs, that’s not how this works!” Then Luffy bursts in to show off his totally cool new scar and Chopper gets dragged away, shrieking about infection and stitches and no you cannot tell people the scar is my fault!
Zoro’s left shirtless on the exam bed, bandages snug around his ribs, feeling weirdly… unarmoured. There’s nothing between him and the world but linen and scar tissue. He’s halfway to lying down and pretending the ceiling is a training dummy when Sanji fills the doorway.
“Need anything?” he drawls which is fucking ridiculous. They both know what Zoro actually needs is to be nowhere near him until this crush shuts up or kills him.
“I’m fine,” Zoro grunts.
Sanji comes in anyway, hands shoved in his pockets and shoulders loose, the swagger dialled down just enough that Zoro can tell he’s worried. His gaze flicks over the bandages and something flickers across his face – guilt, frustration, a flare of something ugly and soft he stamps down quick. “You’re an idiot, you know that?”
“Most people seem to think so,” Zoro answers honestly because he’s tired and sore and all his edges feel too thin. “You got a point?”
Sanji comes close enough that his hip bumps the stretcher, that his knee ends up between Zoro’s feet. Close enough that Zoro can smell cigarette smoke and spice and the sharp clean of soap from a too-quick post-fight shower. Inside his own head, something seizes.
“My point,” Sanji says, very softly, “Is that you don’t have to take every hit, you know. Some of us can duck.”
Zoro swallows. His voice comes out rough, scraped up by more than just bruised ribs. “You were busy. Didn’t want you getting hurt over something I could – ” He breaks off, belatedly realising his own fucking traitorous hand has drifted forward on its own, fingers resting warm and solid on Sanji’s knee.
He freezes. The heat of it goes straight up his arm, into his chest. Sanji’s breath stutters. His gaze drops, almost helplessly, to Zoro’s mouth and stays there.
Zoro hears his own heartbeat in his ears, loud enough it’s obscene. Maybe Sanji can hear it too, because he inhales, shallow, lips parting like he’s about to say something and forgot how.
if you wanted to kiss him, some unhelpful internal voice says, you could. he’s right there.
It would be so easy. Just lean forward, close that last thin slice of space and find out if Sanji tastes like smoke. Find out what that sharp tongue feels like when it’s not throwing barbs at him.
Zoro leans in and the world telescope-focuses. The infirmary, the ship, the whole damn ocean shrinks until there’s nothing left but the distance between them, thinner than a sword’s edge. Zoro can see the tiny pulse jumping at the other man's throat. The fan of gold lashes casting shadows under his eyes.
“Zoro,” Sanji breathes, shivers, and it’s not a don’t.
It’s nothing, in fact, because the door slams open like the universe personally hates him. “Chopper, if Luffy thinks I’m signing off on another – oh.” Nami stops dead in the doorway.
Zoro and Sanji jerk apart so fast Zoro’s ribs scream protest and the motion rips a grunt out of him; Sanji’s heels screech on the floor as he whips around, putting his back between Zoro and Nami like he can physically block the moment from existence.
Nami’s eyes go from Zoro – shirtless, bandaged, hand still half-reached – to Sanji’s stiff shoulders. Back to Zoro’s face. Her mouth curves, slow and wicked. “Interesting.”
Zoro would very much like to swallow a sword.
x
That night, under the heavy quiet of the deck, his body wants to do what it always does: grab weights, balance steel, sweat the day out. Instead, at the last second, he veers left. His feet take him down into the ship’s belly, past the galley to the infirmary. The door slides open with a soft clack.
Chopper’s hunched over a textbook that’s almost bigger than he is, tiny reading glasses perched halfway down his nose. He jumps so hard he almost falls off the stool. “Oh, Zoro!” he squeaks. “Are your ribs okay? Does it hurt? You shouldn’t train, you know, even if you feel –”
“I need the other thing,” Zoro blurts.
Chopper blinks. “Other… thing?”
Zoro can feel the flush climbing his throat like a slow, shameful fire. “The, uh.” For a man whose whole life is built on having the right steel for the right moment, he has no swords for this. “The talk. That you said. Before. If I ever… with someone.”
Realisation dawns on Chopper’s fuzzy face in stages. His ears shoot up, then flatten, then perk again. “O-oh,” he stammers. “You mean the… sexual edu –”
Zoro flinches like he took a hit. “Don’t call it that out loud.”
“It’s what it is,” Chopper says, scandalised. Then he takes a tiny breath, squaring his shoulders like he’s the responsible adult here (which, depressingly, he kind of is in this context) and nods. “Okay. Um. You came. Like you promised. That’s good! Do you… have a partner already?”
The word partner lands heavy in Zoro’s chest, like a weight dropped from height.
“No,” he says automatically but it feels like a lie, somehow. Even though nothing’s happened, even though there’s at least a quarter of him that’s still wondering if he’s miscalculating this, if he’s looking into something that isn’t there. He grits his teeth. “Not… officially.”
Chopper’s pupils blow wide. “Is it –” he squeaks, then claps his hooves over his mouth. “You don’t have to tell me! It doesn’t matter, I’m your doctor! I mean, it’s good for you! If he likes you too. And he does, you know.”
Zoro’s head snaps up so fast his neck cracks. “No he doesn’t.”
Chopper gives him a look he usually saves for when Luffy tries to bite a thermometre. “He follows you around the ship like you’re a particularly stupid comet. He makes me change your bandages and then kicks me out halfway through.”
Heat rushes up Zoro’s neck so hard it makes him dizzy. “He’s… just… weird,” he mutters.
“Right, well, you’re not here to argue about that.” He puffs up, going into doctor mode. “You’re here so nobody gets hurt or infected or pregnant or all.”
Zoro chokes. “All?!”
Chopper’s expression goes stern in a way that would be funny any other day. “Zoro, listen. We talked about this before – sex is risky. Always. Bodies are complicated. Feelings are complicated. You can’t just… wing it because you’re good at fighting.”
Zoro grips the back of a chair so hard the wood complains. His face is on fucking fire. “So what do I – what do we –”
Chopper waves a hoof. “First, you talk to him before anything. You ask what he wants or what he’s comfortable with. You do not assume, with anyone.” He peers up over the edge of his book. “You already try with him, so keep doing it. Just… more.”
Zoro’s throat tightens. The memory of Sanji in the infirmary kicks in sharp: the way he’d said Zoro’s name, the flash in his eyes before the door slammed open. “I don’t want to mess this up,” he mutters, staring at the floorboards. “I just don’t know how to…” He gestures vaguely at the air between them, a shape made of heat and fear and wanting. “This.”
“That’s why you’re here,” Chopper says, unexpectedly fierce. “That already puts you ahead of, like, half the idiots in the world.”
He scrambles onto a stool and drags a stack of pamphlets towards him. They’re very clearly hand-drawn and at least one of them has NOT FOR USOPP!!!!! scribbled across the top in thick red ink.
“Okay!” he says briskly. “Basics. First of all, protection is key. Everytime, Zoro! Whatever you two, uh, decide to do we have measures that can minimise any… health issues from occuring. We should probably, uh, also talk about contraception at some point! But that’s between you and him and me. Got it?”
Zoro nods, jaw tense.
“Second,” Chopper continues, “You go slow. You check in. If he seems uncomfortable, you stop, even if he says it’s fine. Especially if he jokes! He does that thing where he makes fun of himself instead of saying he’s scared.”
Zoro winces because, yes, he’s seen that move more times than he can count. Knows the difference between a casual I’m an idiot and the ones that land like a knife.
“And third…” Chopper hesitates, ears flattening again. “This is important, okay? Sanji’s relationship with bodies is… complicated. So you ask him what parts he likes touched or what names he wants to use. What he doesn’t want at all. Some things might feel great one day and awful another and, from the outside, it might look the same sometimes.”
Zoro listens like it’s battle strategy and it is, kind of. The battlefield just happens to be the inside of someone he cares about more than is remotely reasonable. “Ask. Don’t guess. Listen.”
Chopper beams. “Exactly! There’s more, so much more, but that’s what I’m most worried you’ll skip because you think you can, um, muscle through.”
“I wouldn’t,” Zoro snaps automatically, then sighs, pinching the bridge of his nose. “I really wouldn’t, Chopper.”
“I know,” Chopper says, quieter now. “Also… if you ever feel overwhelmed. Or weird. Or like your feelings are distracting you from… sword stuff. That doesn’t mean they’re bad. Just… new. You can talk to me or Nami. We’re not going to make fun of you.”
Zoro makes a face. “Nami will.”
“Okay, Nami might,” Chopper concedes. “But only a little. And then she’ll help.”
Zoro stares at the floor. He should say thanks and get the hell out of dodge, damage done, but he finds himself hesitating. The words slip out before he can think better of them. “And if I’m wrong about him? What if he’s just… playing around? And I say something and he laughs. Or it makes everything weird for everyone.”
Chopper frowns at him, all soft edges gone for a second. “Then you deal with it,” he says, surprisingly blunt. “You’re strong, you can handle awkward. But if you don’t talk to him, you’ll keep doing… this. And that’s not fair to either of you.”
Zoro exhales slowly through his nose, hating that it makes sense. That the thing he’s been avoiding – saying it out loud, admitting this isn’t a game on his side – is the only way out of this loop. He thinks of Sanji’s hands, always so warm and careful. Of the way he’d leaned in, the barest fraction, in the infirmary. The way his eyes had gone wide, scared and hungry in the same breath.
His chest aches. “Okay.”
Chopper blinks. “Okay?”
“I’ll talk to him.” The words feel like stepping off the mast into open air. “Not about… all of it. Not yet.” Not about the part where he wants to kiss Sanji in every doorway on the ship. Not about the ridiculous daydreams of markets and linked hands. “But I’ll tell him it’s not a game.”
Chopper’s smile is so bright it’s almost painful. “Good! That’s really good. And if he yells or kicks you or faints, well, you come back and I’ll give you ice packs. We have fun new colours, now.”
“Very encouraging,” Zoro mutters. When he stands, his legs feel weirdly steady, considering his stomach is trying to tie itself in sailor’s knots.
As he reaches the door, Chopper clears his throat. “I’m proud of you for… wanting to do this right. For anyone, of course, but. Especially him, you know.”
Zoro looks away, face hot and chest weirdly full, like he’s swallowed something too big and it’s stuck behind his sternum. “Yeah, well,” he mumbles. “He’s Sanji.”
Like that explains everything and, hell, maybe it does.
x
The deck’s as close to quiet as the Merry ever gets.
Moonlight slicks silver over the planks, the ship humming in that low, sleepy way that means everyone else’s down, tucked into hammocks and piles of blankets and weird sleeping contortions.
And there (because the universe has a sense of humour and it’s cruel) is Sanji, leaning against the rail like he’s been poured there. One ankle crossed over the other, shirt loose. The cigarette at his lips burns a small, vicious orange, pulse in the dark.
Zoro’s heart does that awful sideways lurch again, the one that feels like missing a step on the stairs and falling for three whole seconds.
Information, it turns out, does not equal courage. Knowing more about the vague concept of protection and ask, don’t assume doesn’t do a damn thing to quiet the urge to climb Sanji like the mast and stay there.
He wants to lace their fingers together, just once, to see how Sanji’s hand fits in his. He wants to press him flat to the mattress and fuck him slow and careful until every line of his body says safe and wanted and nothing else. He wants to kiss the corners of his mouth and the bruises on his shins and the hollow of his throat and all the places the world’s tried to scrape him thin.
He also wants to throw himself overboard so he doesn’t have to have this conversation.
He thinks of Chopper’s diagrams spread across the infirmary desk, the pamphlets about consent shoved into his pocket. The way Sanji had leaned in like he was daring Zoro to make a choice and then pretending he hadn’t.
His palms are sweating. His mouth is dry.
He walks over anyway, until he’s at the rail next to him, not quite touching. The sea sighs below. “You should be in bed,” he says because his mouth’s an untrained sword at the best of times and went with the first idiot strike it found.
Sanji glances over, eyes catching deck light and moonlight at once, a quick flash of brightness. “And you should mind your own business,” he says mildly, smoke curling from his lips. “I’ll sleep when my brain shuts up.”
“Loud in there?”
Sanji’s mouth quirks, half a smirk, half something more tired. “You should know by now, you talk to it enough.”
Zoro snorts, but the jab lands too close; he has been talking to it more. Not just trading insults until they both feel better by accident but actual questions, actual listening. He’s been… careful.
Careful about the cigarettes, stealing them a little less, nagging a little more when Sanji goes through a pack in a night. Careful about where his eyes go when Sanji’s clothes stick to his skin in the rain. Careful about how he speaks, about when and where he speaks, about how much space he gives and how much he doesn’t.
Careful and yet still somehow barreling toward disaster.
Sanji blows a slow stream of smoke up toward the stars. “You gonna stand there and brood all night or are you gonna say whatever dumb thing you came here to say?”
Zoro’s shoulders tighten. He inhales once, twice, chokes on it and forces out, as steady as he can: “We need to talk.”
Sanji goes still in the smallest of ways, the shift of his weight, the way the easy slouch disappears. The way his spine straightens, just enough, fingers tightening around the rail until the knuckles pale. The words come out too light, too loose, like he’s trying to float on the surface of it. “If this’s about the time I used your whetstone as a paperweight, in my defense, it was flat and boring and so are you.”
“It’s not about the whetstone.”
Sanji shrugs one shoulder, brittle. “Then get to it. I’m not in the mood for foreplay, Moss.”
“You say that like you ever are.”
That sparks something at least. His eyes flick, sharp, smoke cutting sideways from his grin. “Watch it, I can always stop cooking for you. See how buff you stay without actual food, huh? You’ll wither away.”
Zoro imagines a world where Sanji doesn’t cook for him, no bread left aside on the bench after late training, no extra skewer shoved into his hand ‘by accident.’ No warm, greasy, perfect food sliding across the table with a grunt that’s never careless. He mutters: “Not funny.”
Sanji blinks, the joke dying cleanly in his eyes. What’s left behind is… exposed. Wary. “So it’s that kind of talk.”
Zoro’s stomach drops because he can almost hear the internal bolts slam shut, Sanji locking doors behind his eyes, one after the other.
“Wait, no,” he says quickly. “I’m not firing you, you idiot.”
Sanji barks out a laugh that sounds nothing like laughter. “What, then?” he asks. The words pick up speed, skidding, like he’s trying to outrun the conclusion. “You gonna reassign me? Tell me to stop… being how I am? You don’t like the flirting, is that it? You want to call it off before I scare the ladies away?”
There are so many wrong turns in that sentence Zoro doesn’t even know which one to punch first. “That’s not –”
Sanji steamrolls right over it, words coming sharper now, barbs pointed inward. “Because that’s fine, you know. We can stop, I can stop. It’s not – I know it’s a lot.” He laughs again, short and ugly. “I get carried away, you don’t have to humour me or whatever. You can just tell me to knock it off, you don’t have to dress it up as a serious talk.” His teeth click together like he’s just heard himself. The wind tugs at his hair, at the hem of his shirt. His free hand’s still tight on the rail, cigarette burned low and bitter between his fingers.
Something in Zoro, shoved down under nerves and embarrassment and the sheer horror of having feelings, shifts. It’s not anger at Sanji. It’s anger at this… default setting in him. The expectation that if Zoro says we need to talk it means you’re too much. That Sanji’s already halfway through rehearsing his own firing notice.
“That’s not why I’m here,” Zoro says, more firmly. “I’m not asking you to stop.”
Sanji snorts, smoke curling from the corner of his mouth. “What, you like being harassed every morning? Must be your kink.”
“Maybe it is,” Zoro snaps before his brain can tackle his mouth to the floor.
Silence hits like a dropped anchor to the point where he hears the quiet crackle of ash falling and the distant slap of waves. His own blood roaring in his ears.
Slowly, very slowly, Sanji turns his head to look at Zoro like he’s just said he’s eaten the moon. His eyes are wide. “What?”
Zoro feels something inside him throw its hands up and walk away.
Fine. Chopper’s right: if he keeps circling this then he’s going to start splitting himself in half so he either goes in on purpose or he drowns right where he stands. He straightens off the rail and closes the distance between them in three steps, careful because he knows Sanji hates being cornered without warning.
“I said,” he repeats, quieter now, the words feeling heavy and terrifyingly sharp in his mouth, “What if I like it?”
“Like… what?”
“This.” Zoro gestures between them, annoyed at how his hand shakes. “You. The flirting. The… whatever this is. I’m not – what did you say? Humouring you? I’m not playing, Curls.”
Sanji’s eyes flick down to Zoro’s mouth and back up so fast it might as well not have happened except it did. Zoro’s stupid body notes it, files it away, fucking thrives on it.
“You’re… not playing,” Sanji repeats.
“No.”
“You.” He points the cigarette at Zoro’s chest like an accusation. “You’re telling me you’ve been intentionally flirting. With me.”
Zoro’s ears go hot. “I’m learning,” he grinds out. “I went to see Chopper again and he said –”
“You what?”
Zoro exhales through his nose. “Chopper. I asked. Questions.”
Sanji just stares at him. “For… this,” he says eventually, like he’s testing the shape of the idea in his mouth. “For… me.”
Zoro doesn’t trust his voice enough to say yes, so he nods and something flickers across Sanji’s face, fast and painful.
“Why?” Sanji demands, colour rising fast in his cheeks. “You hate complications. You hate talking. You hate feelings, for fuck’s sake. Why would you –” he breaks off, clearly meaning the entire stupid constellation of their lives. “Why open this door?”
Zoro’s first answer is the easy one: because i can’t stop. He doesn’t say that, though. He drags a hand over his face, searching for words that aren’t embarrassing as hell.
“Because it's not a door anymore,” he says finally. “It's a wall, right in front of me. Can’t train past it, can’t sleep past it. I tried to ignore it and all that did was make me think about it more. So, yeah. I asked Chopper. I watched you. I… figured some shit out.”
Sanji’s shoulders tense. “What shit?”
“That I want you.” He could walk it back, he knows. He could just tack on want you dead, want you to shut up, want you to stop kicking me. He could make it a joke, could duck the blade he just threw at both their throats but he doesn’t. He can’t, not anymore.
He says it again, slower and clearer. “I want you. Not just as a sparring partner or a guy to yell at about the crew. Or a cook. You, all of it. The annoying bits. The parts you keep trying to hide. The parts you clearly think are going to make me run screaming.”
Sanji looks like someone brained him with a frying pan. His fingers have gone from white-knuckled on the rail to fused, like he’s welded there. He swallows hard, the muscles in his throat fluttering. “You don’t know what you’re saying.”
“I know I’m not messing with you,” Zoro grits out. “I’m telling you I know what I want. I’m not asking you to be simple, or easy, or whatever bullshit you think you’re supposed to be. I’m just asking you to stop acting like I’m not serious.”
Sanji lets out a shaky breath that curls smoke and something raw between them. “You say that like being serious makes it any less terrifying.”
“Yeah well, I’m terrified too.”
That knocks something out of alignment. Sanji's fingers spasm. “You?”
“Don’t say it like that,” Zoro mutters, heat crawling up his neck. “I just… I know how to fight better than I know how to do this. I’m trying to be… respectful.” The word feels like a sword style he hasn’t mastered yet. “I don’t know where your lines are or if… I don’t know what’s okay or if you want me anywhere near you. All I know is if we keep doing... this like it’s a sparring match without saying this part out loud then it's going to hurt one of us and I’m not doing that.” He stops. His chest is heaving like he’s just done a hundred katas in a row.
Sanji stares at him like the deck just tilted. “Why?” he asks again, but it’s not self-hate this time. It’s quiet and tiny and stunned.
Zoro wants to scream. “Because I like you, you stubborn, infuriating idiot,” he says, more helpless than angry. “Because I go looking for you when I wake up from a nap and I fight better when you’re on my flank.”
Sanji tips his head back, staring at the sky like it might have a better script to hand him. His hand on the rail is trembling now, too. “This is stupid. We’re stupid. This is never going to work.”
“What, you’d rather it stay like it was?” Zoro shoots back. “You flirting like you’re trying to kill me and me pretending I don’t keep staring at your hands?”
Sanji’s gaze snaps down. “You –”
“I want you,” Zoro says again, voice rough. “I want to hold your damn hand and I want to pin you to the fucking mast. I want to hear you laugh into my mouth. I want to know what your face looks like when you come apart and I want to know what you look like when you fall asleep on my shoulder. I don’t know how to separate any of that. I don’t want to separate it.” The moment he says come apart he feels his own ears go volcanic.
Sanji looks like he’s been kicked and kissed and dropped off a cliff all at once. He tries to talk but keeps breaking off, like the words trip over themselves in his throat. “You can’t throw all that at me and expect me to… to be reasonable about it.”
“I’m not reasonable about you either.”
Sanji makes a low, strangled sound and the next thing Zoro knows, his fist is hooked in Zoro’s shirt and they’re kissing. Zoro’s first thought is oh. His second is nothing at all, because his brain just cuts the fuck out.
Sanji’s everywhere at once, mouth hot and riotous, all push and demand and desperate drag. He tastes like smoke and salt and Zoro grabs for him on instinct, one hand hitting the rail beside Sanji’s hip; the other lands on Sanji’s waist to close, hard. There’s a brief, stunned hitch in Sanji’s breath as Zoro hauls him closer.
Zoro, whose entire experience with romance up to now has been don’t have any is suddenly all instinct. He tilts his head, hunting a better angle until Sanji gasps into his mouth. His ribs complain but he doesn’t fucking care. The world around them shrinks, not to the kiss even, but to the stupid, electrified little details inside it. The way Sanji’s stubble scrapes faintly against his upper lip. The tiny tremble in the fingers on Zoro’s chest. The way Sanji presses up onto his toes without seeming to notice, chasing the contact like he’s starved. Zoro realises, in some panicked, ecstatic corner of his mind that this is his first kiss and he’s not sure if he’s doing it right and is also absolutely sure he’s never done anything more right in his life.
Sanji breaks for air and Zoro stupidly follows, mouth chasing, catching his bottom lip between his teeth like he’s trying to hold him there. Sanji laughs, breathless, right into his mouth, a choked, disbelieving sound that tastes like relief. “Oh, fuck,” he whispers. “You really – this is –”
“Shut up,” Zoro mutters because the alternative is saying please don’t stop and that’s a level of vulnerability he’s not ready for this late at night. The next kiss is worse, better, both. Sanji’s hand goes to the back of his neck, fingers threading through green hair, thumb digging into the hinge of his jaw like he’s claiming real estate. Zoro’s grip slides from shirt to waist to hip, thumb catching under the hem of Sanji’s shirt, the bare strip of skin there hot and taut under his hand.
Sanji makes a low sound into his mouth that Zoro feels all the way down his spine, a helpless little groan that turns his knees into fog. Zoro’s brain, which has survived concussions, coma-adjacent blood loss and whatever the hell else has happened in his life decides now is the time to log every single sensory detail like evidence: Sanji’s thigh, braced between his, solid and strong enough that Zoro could probably climb him, the way Sanji twitches, like he’s torn between getting closer and running away and the short, strangled curse that escapes when Zoro’s thumb presses into the jut of his hipbone, right where he’s always wanted to bite.
Sanji tears his mouth away, just for a second, head tipping back against air. His eyes are blown wide, pupils huge, lips swollen and wet. Zoro wants to lick the bruised curve of his lower lip just to see if he’ll shiver again but settles for mapping the curve of his throat.
“Zoro,” Sanji says, or tries to. It comes out thin, shredded. “We’re – ah – still on deck.”
The rest of the ship rushes back in like a wave: the creak of the mast, the flap of sails, the distant snore that might be Usopp or a sea king. The fact that if anyone comes up the stairs right now, they’re going to get an eyeful of something.
His body votes loudly for don’t care. But Chopper’s diagrams are fresh in his head and so is Sanji’s earlier flinch when Zoro said they needed to talk. So is the fact that this is his first time doing any of this and he’s not – they’re not fucking around on the deck, of all places.
Zoro swallows, hard. He forces his hand to loosen on Sanji’s waist. Forces his hips to ease back half an inch, then another. “Yeah,” he manages, voice rough. “We are.”
Sanji stares at him like he’s just done something especially cruel and impressive with a sword. His chest is heaving. His hands… don’t let go. One is still at the back of Zoro’s neck and the other’s still fisted in his shirt like if he releases it, Zoro will vanish.
“We should talk,” Zoro manages and it feels physically painful. “Before we do anything that makes Chopper faint.”
Sanji actually laughs at that, a short, wild sound. He tips their foreheads together, breathing hard. “Can’t believe I finally get you to kiss me and you cockblock yourself. Wait, you haven’t – tell me that wasn’t that your first kiss?”
Zoro grits his teeth. “If you make it a big deal, I’m taking it back.”
“Oh my –” Sanji’s voice cracks in the middle. His thumb strokes, once, absently, at the nape of Zoro’s neck, expression soft and incredulous and so hungry Zoro doesn’t know what to do with it. “It was good, for the record. Really fucking good.”
Zoro’s chest does that dangerous, expanding thing again. “Yeah?”
“Sure. With a little more practice you might even be passable.”
“There it is,” Zoro mutters, relief and affection tangling like ropes in his gut. “Should’ve known you couldn’t go three minutes without being insufferable. But seriously, we should talk… properly. About all this.”
Sanji’s quiet for a beat. Zoro can feel his breath fan over his collarbone, fast and uneven. “Okay, we talk. Just don’t…”
“Run?” Zoro supplies.
“Laugh,” Sanji corrects. “If I say something pathetic.”
Zoro’s throat tightens. He tilts his head to press his mouth briefly – so briefly – into Sanji’s hair. “I just almost had a heart attack because you want me back. You’re not the pathetic one here.”
Sanji snorts, but his shoulders relax under Zoro’s hands, just a fraction. They’re both wrecked: mouths swollen, pulses racing, pressed together against the rail under a sky full of stars. The hunger’s still there, hot and insistent, but there’s something else layered over it now, scared and relieved and stupidly, stupidly hopeful.
Zoro breathes him in again and steels himself. “Alright,” he says, the words slipping out easily this time, like this was always supposed to happen. “Let’s talk.”
x
god, i do not miss being 19 does anyone miss being 19