Actions

Work Header

late night snack

Summary:

sanji and zoro fuck... man idk.. its 11pm..

Work Text:

The play had finally wound down, the curtain call dragging itself into applause, chatter, and the clamor of parents gathering their kids. Sanji, of course, was glowing. His performance? Flawless. He didn’t even need to look in a mirror to know his eyeliner was still sharp, his hair perfectly tousled, his voice ringing with just the right theatrical lilt that made people sigh. He had been brilliant, dazzling, every inch the star he deserved to be.

And then there was Zoro.

Sitting there like some bored statue, arms crossed, expression carved from stone. Sanji had caught him watching during the play — not that Zoro would ever admit it. No, the idiot would sooner cut out his own tongue than confess he’d been transfixed by the sheer artistry of Sanji’s performance. But Sanji saw him. He saw the way Zoro’s jaw ticked when Sanji bowed. He saw the faintest twitch of an eyebrow when Sanji’s lines came out silk-smooth and perfect.

And now? Now he had him cornered.

“Oi, marimo.” Sanji leaned his elbows on the table they’d snagged at the little food stall after the show, cigarette dangling from his lips. He exhaled a curl of smoke directly in Zoro’s direction, watching with satisfaction as the swordsman scowled and waved a hand through it. “What’d you think of my performance?”

Zoro didn’t even look up. He was fiddling with his plate, stabbing aimlessly at a piece of meat with his chopsticks as though the beef had personally insulted him.

Sanji smirked. God, he lived for this.

“You don’t need to answer,” he drawled, swirling his glass of water as if it were the finest wine. “Your face says it all.”

“That you were a pain in the ass?” Zoro muttered.

Sanji barked a laugh, loud enough to earn a glance from the stall’s owner. “Please. If I was a pain, you wouldn’t still be sitting here. Admit it, you were captivated.”

“I was waiting for it to be over,” Zoro said flatly, but his ears—traitorous bastard ears—were faintly pink.

Sanji leaned in, resting his chin on one hand, elbow propped on the table. He studied Zoro the way a cat studied prey: lazy, amused, but sharp underneath. “You know, mossy, most men would kill for a woman to look at them the way you looked at me on stage.”

“I wasn’t looking at you.”

“Mm, denial. Cute.”

Before Zoro could snarl something back, one of the stall workers bustled past, tray in hand. She glanced at them, smiled knowingly, and said in that bright, nosy tone only older women seemed to perfect: “You boys make such a healthy couple. It’s nice to see young love.”

Sanji nearly choked on his cigarette smoke from how fast he inhaled.

Oh, this was perfect.

He leaned back, stretching his arm lazily across the back of Zoro’s chair, the very picture of casual intimacy. “You hear that, honey?” he cooed, tilting his head toward Zoro with a grin sharp enough to cut. “We make a healthy couple.”

Zoro’s chopsticks froze halfway to his mouth. His eyes flicked sideways, green and furious. “Take your arm off me.”

Sanji didn’t. He tapped his fingers against the back of Zoro’s chair, pretending to drum a love song. “Can’t. The lady said we’re cute. Who am I to argue with such wisdom?”

Another worker chimed in as she refilled their water glasses: “You two are adorable. Are you celebrating something?”

“Yes,” Sanji said immediately, before Zoro could open his mouth. He clasped his hands together in mock-sincerity, beaming. “We’re celebrating our love. Isn’t that right, darling?”

Zoro made a noise like he was about to swallow his own tongue.

Sanji bit back a laugh so hard it physically hurt. He could feel Zoro vibrating with restrained fury next to him, could practically hear the grinding of his teeth. God, this was too much fun.

Inside, though, his pulse was skittering. His skin buzzed where his arm brushed Zoro’s shoulder. He told himself it was the thrill of messing with him, the joy of watching Zoro’s temper flare. But deep down, under all the smugness and smoke, Sanji was greedy for every scrap of attention he could steal. He’d die before admitting it aloud, but he wanted Zoro to bristle, to snap, to notice him.

So he leaned closer. Close enough that his breath ghosted against Zoro’s ear. “Smile for the nice people, Marimo. Don’t break their hearts.”

Zoro turned his head slowly, meeting Sanji’s gaze with that flat, deadly stare that promised violence. Sanji’s stomach flipped like he’d just downed a shot of espresso.

“Keep it up, curly-brow,” Zoro said, voice low and razor-sharp, “and you’ll regret it.”

Sanji only grinned wider. “Oh, I’m counting on it.”

The smart thing would’ve been to leave.

Zoro knew it the moment the curtain fell and Sanji bowed, his golden hair catching the stage lights like some overdramatic halo. He should’ve stood up, walked out, found a quiet corner with a bottle of sake, and drowned himself in silence until the memory faded. That was what he should’ve done.

But he hadn’t.

Instead, he’d let himself be dragged into the crowd spilling out of the auditorium. He’d followed the smell of food, the chatter of the kids still buzzing about the play. He’d followed him.

And now here he was, sitting at some cramped food stall, chopsticks in hand, trying to eat his way through the gnawing in his chest while Sanji leaned into him like this was the most natural thing in the world.

The stall was noisy, warm with steam rising off broth pots and the constant scrape of ladles against bowls. The smell of grilled meat clung to the air, mixing with the faint smoke curling from Sanji’s lips. Zoro should’ve hated it—the crowd, the closeness, the stifling heat—but the worst thing was how much of it he noticed because of him.

Sanji’s laugh rang too clear above the noise, tugging at Zoro’s ears even when he tried not to listen. His cigarette burned low, ember glowing bright every time he drew in a drag, and Zoro’s eyes kept tracking the movement even when he swore he wouldn’t. The bastard’s sleeve brushed against Zoro’s arm now and then, casual, careless, like he had every right to be pressed so close.

And the whole time, Sanji just kept talking.

“What’d you think of my performance?” Sanji asked, smoke trailing from the corner of his mouth.

Zoro stabbed his chopsticks into the meat, chewing like the beef had insulted him personally. “That you’re a pain in the ass.”

Sanji laughed, full and sharp, leaning closer, resting his chin in his palm like Zoro was something worth studying. “Please. If I was a pain, you wouldn’t still be sitting here.”

Zoro’s jaw clenched. He didn’t answer, because he couldn’t.

Because Sanji was right.

He should’ve walked away, but he didn’t. Because something in him—something he refused to name—kept him rooted to the spot.

He remembered the way Sanji had looked on stage, cocky grin in place, eyes flashing under the spotlight. He’d told himself not to watch, not to give him the satisfaction. But his eyes betrayed him. Again and again, they tracked the bastard’s every movement, every word rolling off his tongue.

Sanji was all fire and smoke up there, confidence dripping from every step, and Zoro had sat there in the dark, fists clenched, furious with himself for staring. Furious at the heat that pooled low in his stomach when Sanji had delivered a particularly sharp line, when the crowd had clapped, when women in the row ahead of him whispered about how handsome he was.

Zoro had wanted to scowl at them. Hands off, he’s mine.

The thought had hit him out of nowhere, and he’d nearly choked on it. He’s not mine. He’s nothing. Just an annoying cook with a big mouth.

So why did the image keep flashing in his head? Sanji bowing, sweat beading at his temple, eyes flicking to the crowd like he was searching for someone—and landing, just for a heartbeat, on Zoro.

Now that damn look haunted him worse than any enemy blade.

Zoro’s chopsticks snapped in his hand before he realized how hard he was gripping them. He tossed the broken wood aside, grabbing another set from the jar at the end of the table.

And Sanji? Sanji noticed. Of course he did. The bastard noticed everything when it came to getting under Zoro’s skin.

“You know,” Sanji said, voice dripping with that smug drawl, “most men would kill for a woman to look at them the way you looked at me on stage.”

Zoro turned his head slowly, glare sharp enough to cut. “I wasn’t looking at you.”

“Mm, denial. Cute.”

The word stuck to Zoro’s skin like a brand. Cute.

He wanted to throw the table. He wanted to grab Sanji by the collar, shake him, make him stop talking. He wanted to pin him to the wall and—

Zoro’s thoughts stuttered. He shut them down, hard, burying them under a mouthful of meat.

Then the stall worker wandered by, all smiles and nosy warmth. “You boys make such a healthy couple,” she said, and Zoro’s brain short-circuited.

Healthy couple.

The chopsticks froze in his hand. His face burned. He wanted to deny it, to snap something sharp enough to stop this conversation dead in its tracks. But Sanji got there first.

He leaned back, stretched his arm across the back of Zoro’s chair like it belonged there, and smiled with the kind of charm that made women melt. “You hear that, honey? We make a healthy couple.”

Zoro’s stomach twisted so violently he thought he might be sick.

The worker beamed, topping off their water. “Are you celebrating something special?”

“Yes,” Sanji said without missing a beat. He clasped his hands together like some lovesick newlywed. “We’re celebrating our love. Isn’t that right, darling?”

Zoro almost choked. His throat locked, no words coming out, just a strangled noise. And Sanji — that smug bastard — smiled like he’d won.

Heat crawled up Zoro’s neck. He wanted to shout, wanted to shove him off, wanted to end this entire charade. But his body betrayed him. His shoulders stayed where they were, brushing against Sanji’s arm. His chest tightened in a way that had nothing to do with anger. His eyes darted to Sanji’s mouth, to the curl of his smirk, and lingered.

Zoro ground his teeth. No. No, no, no.

Sanji leaned in closer, his breath warm against Zoro’s ear. “Smile for the nice people, Marimo. Don’t break their hearts.”

Something in Zoro snapped.

He turned his head, locked eyes with Sanji, and for one breathless, infuriating second, it felt like they were both teetering on the edge of something they couldn’t take back.

Zoro wanted to kiss him. God help him, he wanted it so badly it made his hands shake. He wanted to taste the smoke on Sanji’s lips, wanted to shut him up with his mouth, wanted to bury himself in that heat until he forgot his own name.

The image burned so hot and fast it terrified him.

So he shoved it down, scowled harder, and forced the words out through gritted teeth. “Keep it up, curly-brow, and you’ll regret it.”

Sanji only grinned wider, eyes glinting like he’d won the war. “Oh, I’m counting on it.”

Zoro stared at him, rage boiling in his chest, shame threading through it, and under all of it — a hunger he couldn’t kill.

He hated Sanji.

He wanted Sanji.

And that contradiction was going to tear him apart.

Sanji should have gone back to his dorm. That’s what he told himself as he wandered the hallways of Gol D’s University with his tie loose and his hands shoved deep into his pockets. He’d dropped his friends off ages ago, dismissed Nami’s teasing, brushed off Usopp’s half-joking warning that he was going to get himself into trouble if he kept chasing after Zoro like a mutt with a bone.

But here he was anyway. Still walking, still restless. His body carried him like it had made a decision before his brain had. His feet knew exactly where he wanted to go, even if pride kept him from admitting it aloud.

The training wing was quiet at night, humming faintly with the after-hours silence of fluorescent lights left running too long. Most students were either asleep or cramming for exams, but Sanji wasn’t surprised to find one exception.

Through the glass window of the swordsmanship studio, Zoro stood alone.

Sanji froze.

The idiot wasn’t even wearing a shirt. Just loose black sweats and bandages wrapped around his torso like some warrior dragged straight out of a fantasy epic. His skin glistened with sweat as he moved, each swing of his swords deliberate, heavy, precise. The air whistled as the blades cut through it, each strike echoing off the studio walls.

Sanji’s first thought wasn’t even a word. It was a heat, low in his gut, the kind of hunger that tightened his throat and made his palms itch.

His second thought was; this is so unfair.

Zoro didn’t see him at first, but Sanji didn’t announce himself either. He leaned against the doorway, lighting a cigarette with hands that trembled just enough to piss him off. He smoked, slow, letting the nicotine ground him while he watched Zoro rage against nothing, as if the air itself had dared to challenge him.

Every strike, every pivot, every growl pulled Sanji deeper under.

And then Zoro stopped. His chest heaved, his knuckles white against the hilts of his swords. He lifted his head like an animal sensing he was being watched.

Their eyes locked through the reflection in the studio mirror.

Zoro’s gaze darkened instantly.

Sanji smirked, feigning ease, though his heart was racing so hard he thought it might bruise his ribs. “You practicing for a strip show, marimo, or is this just your idea of foreplay?”

Zoro turned slowly, his face unreadable, but his silence was louder than any insult.

For a split second, Sanji thought he saw it—the same hunger, the same pull, mirrored back at him in Zoro’s eyes. Raw and dangerous.

But then Zoro spoke, voice low and flat, cutting through Sanji’s smirk like a blade. “Why are you here?”

Sanji exhaled smoke, deliberate, a thin curl rising toward the ceiling. “Could ask you the same thing. Don’t you ever sleep?”

“Don’t need to.”

“Figures.” Sanji flicked his ash into the hallway trash bin, stepping inside like he owned the place. He leaned against the wall, crossing his arms, every inch of his posture calculated to look lazy — not betraying that he was standing in quicksand. “You’re gonna burn yourself out training like a maniac. Not that I’d complain if you did. Makes it easier for me to beat your ass in class.”

The corner of Zoro’s mouth twitched, though it wasn’t exactly a smile. “You couldn’t beat me if I fought you half-dead.”

Sanji bit down on his cigarette filter, hard. His body was alive with heat, but his pride clung to the banter like a lifeline. “Careful, mosshead. Sounds like a challenge.”

Zoro finally set his swords down. He grabbed his towel from the bench, dragging it over his damp skin, and Sanji had to actually look away for a second before his thoughts crossed a line even he couldn’t joke his way out of.

Because the thing was—Zoro wasn’t just strong. He was infuriatingly beautiful in motion. He moved like he belonged to the fight, like the fight belonged to him. And Sanji wanted him. He wanted him so badly it made his chest ache.

Zoro’s voice cut through his spiral. “I asked you why you’re here.”

The question hung heavy.

Sanji knew he could shrug it off, toss a joke, blow smoke in Zoro’s face and walk away. That’s what he should do. That’s what would keep the fragile balance between them intact.

But instead, Sanji heard himself say, softer than he meant to, “Couldn’t sleep.”

For the first time, Zoro looked at him not like a rival, not like a nuisance—but like something dangerous. Something tempting. His jaw flexed, his grip on the towel tightening like he was holding himself back.

And Sanji realized with a jolt of triumph and terror both: Zoro wanted him too.

The room crackled with silence, thick and electric. Neither of them moved.

Sanji’s cigarette burned down to the filter, and he ground it out on the wall without looking away from Zoro. His pulse hammered in his throat, each beat louder than the last.

He didn’t know who would break first.

Zoro told himself not to move.

He told himself to keep still, keep calm, keep control.

But the second Sanji crushed out his cigarette and stepped further into the studio, closing the door behind him with that little click of finality, Zoro’s body betrayed him. His shoulders tightened. His pulse spiked. He felt the air shorten in his lungs, not because he was tired from training, but because the bastard was too close.

Too close, always too close.

Zoro dropped the towel on the bench and reached for his swords again, just to give his hands something to do. He didn’t need to keep practicing, but the weight of the hilts grounded him. Steel didn’t lie. Steel didn’t twist him up inside the way Sanji did.

But Sanji wasn’t going to let him retreat. He never did.

The cook’s shoes echoed softly against the hardwood as he crossed the floor. Each step was deliberate, lazy-seeming, but Zoro could feel the tension underneath. Sanji was a predator when he wanted to be, stalking him with cigarette smoke still clinging to his shirt, golden hair falling into his eyes, his tie loose enough to show the line of his throat.

“Y’know,” Sanji started, his voice maddeningly casual, “for someone who claims to hate me, you don’t look thrilled to see me leave.”

“Who said I wasn’t?” Zoro grunted, forcing himself to turn away, to square his stance toward the mirror again.

Sanji laughed. A low, throaty sound that sent a sharp heat right to Zoro’s gut.

“You’re terrible at lying.”

Zoro’s grip on Wado tightened until his knuckles whitened. Shut up. Just shut the hell up before I—

But Sanji wasn’t done. He never was.

“Always so serious. Always training. Always pretending you don’t notice me staring.”

Zoro’s mind blanked for a second, a static hiss roaring in his ears. He turned, sharper than he meant to, the tip of his sword grazing the floor as he faced Sanji fully.

And Sanji was already there, just a step away, looking at him with that infuriating half-smile — equal parts taunt and promise.

“You think I don’t notice when your eyes linger?” Sanji murmured, tilting his head, voice softer now, sharper. “When you watch me in class? When you can’t decide if you wanna fight me or—”

“Shut up.”

Zoro’s voice came out rough, low, dangerous. His chest heaved.

Sanji’s smirk widened, though his eyes betrayed something else underneath — heat, hunger, the same thing clawing at Zoro’s insides.

“Make me.”

Zoro snapped.

The swords clattered to the floor, abandoned in a single heartbeat. He closed the distance in one stride, one furious, desperate motion, his hands fisting in Sanji’s shirt, slamming him back against the mirrored wall hard enough to rattle the glass.

Sanji’s breath hitched but he didn’t flinch. If anything, his smirk turned into something feral, his eyes blazing as he leaned into the grip, as if daring Zoro to go further.

“Finally,” Sanji whispered, like he’d been waiting all this time for Zoro to lose.

Zoro’s thoughts were chaos, nothing but Sanji’s face too close, Sanji’s breath hot against his skin, Sanji’s body solid under his hands. His blood thundered in his ears. He hated him. He wanted him. He hated how much he wanted him.

He could taste the cigarette smoke still lingering on Sanji’s breath when he finally crushed his mouth against his.

It wasn’t a kiss at first. It was a clash, brutal and unyielding, teeth clicking, lips colliding with the force of years of restrained fury. Sanji made a noise—half-groan, half-laugh—and fisted a hand in Zoro’s hair, pulling him closer, not giving him a second to breathe.

The mirror behind Sanji trembled again under the impact of their bodies, and Zoro didn’t care if it shattered. He wanted to break something. He wanted to break himself.

Sanji gasped against his mouth, biting down on his lip hard enough to draw blood, and Zoro growled in response, deep and primal, the sound vibrating between them.

There was no technique, no finesse—only hunger, only desperation.

When they finally ripped apart for air, both panting, their foreheads pressed together, Zoro realized his hands were shaking. He still had Sanji pinned by the shirt, knuckles digging into fabric, but it felt less like control and more like survival.

Sanji licked the blood from his lip, grinning like the devil himself. “Took you long enough.”

Zoro shut his eyes, fighting the roar inside his chest. He should push him away. He should walk away.

For a long, shuddering moment, the only sound in the studio was the ragged echo of their breathing. The mirror behind Sanji hummed faintly with the memory of impact, a hairline crack spidering outward where Zoro had slammed him too hard.

Neither of them cared.

Zoro was the first to move, wrenching himself back a half-step as though the air between them had turned poisonous. His chest was heaving, sweat dampening his shirt despite the chill. His lips still burned from the kiss—bruised, bitten, ruined—and the taste of Sanji lingered like smoke at the back of his throat.

“Fuck,” he muttered, raking a hand over his face. “That was—”

“About time?” Sanji interrupted, smug and sharp, though his voice cracked around the edges.

Zoro’s head snapped up, glare cutting like a blade. “Don’t.”

“Don’t what?” Sanji tilted his head, golden hair falling into his eyes. He looked maddeningly calm despite the flush high on his cheekbones, despite the tremor in the fingers still curled at his side like he was resisting the urge to reach out again. “Don’t point out that you wanted that as much as I did?”

Zoro’s jaw clenched. The silence stretched, suffocating.

He wanted to say no. He wanted to deny it, to shove the words back down Sanji’s throat with another brutal kiss until neither of them could breathe. But lying had never been his strong suit. His body betrayed him—the taut line of his shoulders, the restless shift of his feet, the way his eyes lingered on Sanji’s mouth.

Sanji saw it. Of course he did. The bastard always saw through him.

“Thought so.” Sanji’s grin curved, slow and wicked. He leaned back against the mirror deliberately, stretching his long frame like a cat, as if to show Zoro how unbothered he was. “Don’t worry, mossy. I won’t tell anyone you’re dying to fuck me.”

Zoro’s blood roared. He moved before he thought, pinning Sanji again, this time with an arm across his chest, forearm digging into the firm muscle there. Their faces were inches apart, both of them breathing too hard.

“You think you’re funny,” Zoro growled, low and dangerous. “Keep pushing me, cook, and see what happens.”

Sanji smirked, eyes glinting with challenge. “That’s the idea.”

There it was—the gauntlet thrown. Not just a taunt, not just provocation. It was an invitation.

And Zoro hated him for it. Hated him for knowing exactly how to stoke the fire eating him alive.

Inside, his thoughts were chaos: This is wrong. This is stupid. This is dangerous. He’s my rival, he’s my goddamn headache, he’s—

He’s the only one who makes me feel like this.

Zoro swallowed hard, his grip loosening by a fraction, and that fraction was all Sanji needed. The cook surged forward, capturing his mouth again with a force that stole the breath from his lungs.

This kiss was different. Less anger, more hunger.

Zoro fought it—at least at first. His hand braced against Sanji’s chest as if to push him back, but Sanji only pressed closer, lips insistent, tongue teasing at the seam of his mouth until Zoro couldn’t hold the line anymore.

With a growl, he gave in, dragging Sanji against him, their bodies colliding with enough heat to burn.

Sanji moaned into the kiss, and the sound shot straight to Zoro’s cock, already straining against the confines of his pants. He hated that Sanji could do this to him—make him feel like he was unraveling with nothing more than a sound, a touch, a smirk.

When they broke apart again, both gasping, Sanji’s eyes were wild, pupils blown wide. “You feel it too,” he panted, lips swollen. “Don’t you dare tell me you don’t.”

Zoro’s hand trembled where it still gripped Sanji’s shirt. He wanted to deny it, to fight, but the words tangled in his throat and died. His silence was all the confirmation Sanji needed.

The cook’s grin returned, sharp enough to cut. “Good. Then stop wasting time.”

Zoro’s breath hitched. His body screamed to obey. His mind screamed to resist.

But Sanji was right there, warm and solid and fucking irresistible.

Zoro told himself to step back.

He told himself to shove Sanji away, to walk out the studio door and never look back.

But his hands had a mind of their own. Instead of letting go, they dragged Sanji closer, crushing him against his chest like he’d been starving for the contact all his life.

Sanji groaned low in his throat, the sound vibrating between them as he ground forward, hips rolling in a slow, deliberate arc. The pressure of Sanji’s hard cock straining against him made Zoro’s breath stutter. He tried to keep his face impassive, but his body betrayed him—hips jerking forward, meeting Sanji halfway.

Fuck.

Sanji smirked against his mouth, tasting the slip in his control. “Knew it,” he murmured, voice wrecked but smug. “You want this as bad as I do.”

Zoro growled, half in warning, half in frustration at himself. “Shut up.”

“Make me.”

Zoro did—crushing their mouths together again, less finesse this time, more desperation. Sanji kissed back with the same hungry recklessness, teeth scraping, tongues colliding. It was messy, brutal, perfect.

When they broke apart, gasping, Zoro’s hands had already slipped lower, gripping Sanji’s narrow hips hard enough to bruise. He didn’t even remember moving them there. All he knew was how good Sanji felt pressed against him, how the friction was making him lose his goddamn mind.

Sanji’s breath was hot against his ear when he leaned in, murmuring, “You’ve thought about it, haven’t you?”

Zoro stiffened, but Sanji didn’t let up. His lips brushed the shell of his ear as he whispered, “Me on my knees. My mouth full of you. You’ve pictured it.”

Zoro’s cock throbbed violently at the image, a sharp jolt of want that made him bite down on a curse. He wanted to deny it. He wanted to tell Sanji to fuck off. But Sanji shifted his hips again, grinding into him with maddening precision, and the words withered on his tongue.

“Your silence,” Sanji purred, “is all the answer I need.”

Zoro’s patience snapped. He shoved Sanji hard against the mirror again, pinning him with his weight, grinding their erections together through too many layers of fabric. Sanji gasped, the sound high and needy, and Zoro drank it in like victory.

“Cocky bastard,” Zoro muttered, nipping at the line of Sanji’s jaw before he could stop himself. “Always running your mouth.”

Sanji’s fingers curled into Zoro’s hair, tugging hard enough to sting, pulling his head back. “And you love it,” he shot back, eyes blazing.

Zoro’s chest heaved, torn between fury and lust, both roaring too loud in his blood. He wanted to strangle him. He wanted to fuck him until neither of them could walk straight.

Sanji leaned in, their lips barely brushing, his voice a whisper that was more like a challenge: “Prove it.”

Zoro kissed him again, slower this time, more deliberate. Not the frantic clash of teeth and tongue, but something that lingered, something that felt dangerously close to tender.

Sanji melted into it, his smirk faltering into something softer, his body pressing flush against Zoro’s like it belonged there.

For a second, Zoro hated himself for how right it felt.

When Sanji’s hands slid down, tugging at the hem of Zoro’s shirt, calloused fingers brushing over his skin, Zoro sucked in a sharp breath. Every nerve lit up. He should stop this. He knew he should.

But when Sanji murmured against his mouth, “Let me touch you,” Zoro’s resistance crumbled.

His only answer was to crush their mouths together again, harder, hungrier, while his own hands roamed lower, kneading the firm curve of Sanji’s ass. The cook groaned into the kiss, rutting against him shamelessly, and Zoro felt his last thread of self-control snap.

Zoro knew he’d already lost the second Sanji’s hands slid lower.

Calloused fingers traced the hem of his shirt, skimming against bare skin, and Zoro’s body betrayed him, jerking at the touch like it was the first time anyone had dared to put hands on him. His chest heaved, his pulse hammering in his throat.

Sensitive,” Sanji murmured, voice low and smug, the kind of tone that made Zoro’s blood boil and his cock ache at the same time. “Didn’t expect that.”

Zoro wanted to snarl back, to spit out a threat sharp enough to cut the grin off Sanji’s face. Instead, his breath came in ragged bursts, his fists clenched helplessly at his sides.

Sanji didn’t rush. He pushed Zoro’s shirt higher, inch by inch, brushing the bare expanse of muscle with maddening slowness. His mouth followed the trail his hands left, teeth grazing the curve of Zoro’s collarbone, lips dragging lower until they found the taut peak of his nipple.

The swordsman hissed through his teeth, biting down on the sound threatening to slip out. Sanji smirked against his skin and licked deliberately, slow and obscene.

“Fuck—” The word slipped before Zoro could bite it back.

Sanji’s laugh was low, wicked. “That’s more like it.”

He tugged the shirt the rest of the way off and tossed it aside, his own jacket already lying forgotten on the floor. They were bare chest to chest now, heat radiating between them, sweat and smoke and want hanging thick in the air.

Sanji’s hands slid lower, skimming Zoro’s abdomen before finding the belt at his waist. He tugged once, sharp, just to make Zoro’s breath catch.

“You sure about this?” Sanji asked, though the gleam in his eyes betrayed that he already knew the answer.

“If you stop now, I’ll kill you.”

Sanji’s grin turned feral. 

The belt came undone with an easy flick of his wrist, the sound of the buckle hitting the floor far too loud in the charged silence. Sanji took his time peeling the fabric down, every inch of progress measured, deliberate.

Zoro stood rigid, fists clenched at his sides, but his cock was already straining against the confines of his boxers, betraying him with every twitch.

Sanji’s hand cupped him through the thin fabric, squeezing once, firm enough to draw a gasp from his throat. Zoro’s head fell back against the mirror with a thud, teeth grit, jaw locked tight.

“Relax,” Sanji coaxed, rubbing the outline of his length with slow, steady strokes. “I’ve got you.”

Zoro’s hips jerked forward without his permission, chasing the friction. He hated himself for it, hated Sanji more for noticing, hated the soft, pleased hum that vibrated in the cook’s throat.

Sanji tugged the boxers down, freeing him at last, and Zoro nearly groaned at the cool air against his overheated skin.

Then Sanji dropped to his knees.

Zoro’s heart stopped.

Golden hair spilled across his thighs as Sanji leaned forward, tongue tracing a slow, wet line along the underside of his cock. Zoro’s hand flew out, bracing against the mirror for balance, his legs trembling despite his best effort to hold steady.

“Fuck—Sanji—”

Sanji hummed like he was savoring the taste, eyes flicking up to meet Zoro’s. He looked infuriatingly smug down there, lips slick and glistening as he dragged his tongue over the sensitive tip, lapping up the bead of precome already there.

Zoro bit down on a groan, the sound ripping through him anyway, low and guttural.

“You taste good,” Sanji said casually, as though Zoro wasn’t already on the edge of coming undone.

And then he took him in, slow and steady, mouth hot and wet around Zoro’s cock.

Zoro’s eyes slammed shut, a raw sound tearing out of his throat. His hips lurched forward before he could stop them, driving deeper into the heat of Sanji’s mouth, and Sanji just moaned around him, the vibration making Zoro curse violently.

He gripped Sanji’s hair, not to control but to survive, his knees threatening to buckle. Every drag of Sanji’s mouth was torture, slow and deliberate, never enough, never fast enough.

“Stop—” Zoro growled, voice hoarse. “You’re—fuck—teasing.”

Sanji pulled back, lips wet, smirking up at him with infuriating satisfaction. “Exactly.”

Zoro wanted to strangle him. He wanted to shove his cock back down that smug throat until Sanji couldn’t talk anymore. He wanted—

Sanji’s slick fingers brushed against his entrance, feather-light, teasing.

Zoro’s breath hitched. His body jolted as though struck, instinct and want warring violently inside him.

“You ready for more?” Sanji’s voice was low, wrecked now, the smugness cracked by his own hunger.

Zoro glared down at him, chest heaving, fists trembling in his hair. “Just do it,” he rasped.

Sanji’s grin sharpened. “Say please.”

Zoro snarled, eyes blazing. “Go fuck yourself.”

Sanji chuckled darkly, pressing a finger in anyway, slow, steady, relentless.

Zoro’s head slammed back against the mirror, a guttural moan ripped from his throat despite every ounce of willpower. His whole body trembled, stretched and burning, every nerve lit on fire.

Sanji leaned closer, his mouth brushing against Zoro’s cock again as his finger worked deeper. “Nah,” he purred. “I’ll fuck you instead.”

Zoro thought he had patience. He’d endured Mihawk’s training, stood still for hours in punishing stances, learned to hold his blade steady no matter how his muscles trembled. None of that mattered here. Not when Sanji had him naked, sprawled, thighs spread wide, flushed and sweating while Sanji took his sweet time.

Sanji’s fingers moved in slow, deliberate circles inside him, stretching him open with obscene gentleness. Every twist, every curl hit a spot that made Zoro grit his teeth and choke back groans. The bastard was watching him the whole time, golden hair falling into his eyes, lips curved in that smug, knowing smile.

“You’re trembling already,” Sanji murmured, his voice low, taunting. “Didn’t know the great swordsman was this easy to unravel.”

Zoro wanted to spit something back—call him a shitty cook, tell him to shut the fuck up—but the words snagged in his throat when Sanji deliberately brushed over his prostate. His back arched involuntarily, a broken sound tearing from his mouth.

“Fuck you—”

“You wish,” Sanji said, tone sharp as the flick of his lighter.

Another finger pressed in, slow and merciless. Zoro hissed, grabbing at the couch cushions, his pride shattering with every shallow thrust of Sanji’s hand. He couldn’t keep his hips still—his body betrayed him, rolling up to meet every teasing push, greedy and desperate even while his brain screamed to resist.

Sanji leaned in close, lips brushing Zoro’s ear. “You’re so fucking tight like this. You know how long I’ve imagined you spread out under me? And now you’re here, letting me ruin you nice and slow.”

“Not—letting—” Zoro grunted, cutting himself off with a sharp groan when Sanji crooked his fingers just right.

The cook chuckled, low and filthy, and Zoro swore he felt it rumble right through his chest. Every brush of Sanji’s knuckles, every curl of his wrist was calculated, purposeful. It wasn’t just about prepping him—it was torture, exquisite and unbearable.

Zoro’s thighs shook, his cock hard and dripping against his stomach, untouched. He could feel his pulse hammering in his ears, could feel himself breaking. He’d never begged in his life, not for anything, but Sanji was pushing him right to the edge of it.

Sanji withdrew his fingers abruptly, and Zoro almost growled at the loss, hips bucking forward like he could chase the sensation. He hated himself for it. He hated Sanji more for noticing.

“You want it,” Sanji said softly, licking his fingers clean in a way that made Zoro’s vision blur. “Say it.”

Zoro’s jaw locked, teeth grinding. His pride was a heavy blade strapped to his back, and it was cutting him in half. But when Sanji leaned down, grinding his clothed cock against Zoro’s entrance, the friction made him jolt, made a strangled, desperate sound claw out of his throat.

Sanji stilled, smiling like he’d already won.

Zoro shut his eyes, breath ragged. He could fight battles, he could hold swords until his arms bled—but he couldn’t stop the words that slipped out, low and broken:

“…Please.”

Sanji didn’t rush. He never rushed when it came to food, to knives, to flame — and apparently, he didn’t when it came to Zoro either.

His knuckles dragged against Zoro’s thigh as he pressed deeper, one finger curling just to make him twitch, then pulling back until the swordsman’s body clenched tight in protest. Zoro’s growl was low, feral, caught between frustration and disbelief that he was even letting this happen.

“Mm,” Sanji murmured, leaning close enough that his lips brushed the shell of Zoro’s ear, “for someone who acts like he’s too tough for anything, you’re taking me so sweetly.” His voice curled around the word like smoke, velvet and lethal.

Zoro wanted to snap back, wanted to spit some cutting insult about Sanji’s voice or his stupid pretty hands. But the only sound that left his throat was a ragged, involuntary hiss when Sanji slipped a second finger inside, stretching him with patient cruelty.

His mind was screaming—too slow, faster, more, damn it just—but his body betrayed him, hips shifting, seeking that friction Sanji gave and denied in equal measure. The cook noticed immediately, chuckled low, and set a punishing rhythm of almosts—brushing Zoro’s prostate but never staying, curling his fingers then retreating, coaxing the swordsman into a restless, shaking mess.

Zoro’s hand slammed against the mirror, leaving streaks of sweat and palm prints across the glass. His reflection glared back at him, flushed and furious, pupils blown wide. He hated the sight of himself like this—undone, spread open, Sanji’s fingers working him slow and deep while the bastard just smiled against his skin.

“You’re glaring at yourself,” Sanji whispered, biting lightly at his jawline. “What’s wrong, swords? Don’t like seeing how much you want it?”

The taunt was too much. Zoro bared his teeth, snarling: “Shut the fuck up and—”

Sanji curled his fingers hard, dragging a moan out of him so sharp it cut off the rest of his words. Zoro bit down on his own wrist to muffle the sound, chest heaving, but Sanji just laughed softly, prying it away.

“No hiding,” Sanji ordered, voice suddenly sharp, commanding in a way that made Zoro’s spine arch. “I want to hear everything.”

Another curl, another press against that spot, and Zoro’s voice cracked open, guttural and raw, echoing through the room whether he wanted it to or not. His pride was slipping through his fingers as easily as Sanji slid in deeper, stretching him with agonizing patience.

Every second felt like torture, but not the kind he could fight. Not the kind he wanted to fight.

Zoro was gone. His breath came in ragged bursts, hair plastered to his forehead, his body straining against Sanji’s fingers driving him closer, closer, so fucking close—

And then.

Nothing.

Sanji slid his fingers free with obscene wetness, smirking like the devil incarnate as he wiped the shine of Zoro’s slick against his own thigh, just to taunt.

Zoro froze, chest heaving, disbelief and fury sparking through him in equal measure. His cock twitched, aching, leaking against his stomach, denied in the cruelest second possible.

“You bastard,” he rasped, voice shredding.

Sanji tilted his head, eyes bright with mocking amusement. “Patience, mosshead. You’ll thank me when—”

The rest of his words were ripped away.. literally. Zoro’s hands snapped forward, fists knotting in Sanji’s belt, and before the cook could blink, the leather tore loose with a vicious tug. A button pinged somewhere against the floor.

“Fuck patience,” Zoro snarled. He shoved Sanji back onto the bench like he weighed nothing, hands yanking pants and briefs down in one rough motion. His gaze locked onto Sanji’s cock, flushed and heavy against his thigh, and something primal snapped in Zoro’s chest.

Sanji’s smirk wavered for the first time as Zoro climbed onto him, straddling his hips with that same feral energy he carried into every fight. His nails dug into Sanji’s shoulders hard enough to bruise.

“You think you get to play with me?” Zoro’s words were low, guttural, every syllable vibrating with suppressed rage and want. “I’ll show you who’s in control.”

And then—before Sanji could reach to stop him, before he could get another clever word out—Zoro angled himself, spat into his palm, stroked Sanji’s length once, twice, and sank down in one brutal push.

The world went white.

Zoro’s body clamped around him, the stretch burning, tearing, perfect. His throat ripped open in a raw, guttural cry that echoed against the walls, mirrored back at him in the reflection—his own face, wild and wrecked, Sanji’s head thrown back beneath him.

Sanji cursed, hands shooting to Zoro’s hips, but whether it was to hold him still or help him slam down harder, neither of them knew. Zoro didn’t care. He rode, rough and relentless, chasing the release Sanji had denied him, the slap of skin and the guttural sounds spilling out of both of them filling the room like a war drum.

“Fucking—idiot—” Sanji gasped between thrusts, eyes rolling back at the heat strangling him. “You’ll—tear yourself apart—”

Zoro leaned down, foreheads smashing together, eyes blazing. “Then let me tear.” And he ground down harder, riding like his life depended on it.

Zoro’s hips rocked lazily, teasing, savoring the friction as he ground himself on Sanji’s length. Every inch of him was lit on fire, muscles trembling, veins pulsing. His cock throbbed, slick with their shared need, but his pace had slowed—slow enough that his body burned with desire but couldn’t push him over the edge yet.

Sanji’s hands gripped Zoro’s hips, knuckles white, nails digging in just enough to mark him, to assert his hold. He was trembling too, the tight coil of his own restraint fraying with every slick, delicious grind. His jaw clenched, teeth bared, chest heaving. He could feel himself teetering dangerously close—the edge of a blank, white haze of release—and it terrified him that he hadn’t even touched the part that mattered yet.

“Faster,” Sanji growled, voice low and broken. “Don’t—fuck—don’t slow on me, stupid.”

Zoro’s lips curved into a challenging, ragged grin. “I’m… not—going anywhere… yet.” His cock throbbed violently, slick skin gliding over Sanji’s, and he was breathing hard, teasing, prolonging the sweet torment.

Sanji’s pupils dilated, heat and hunger flashing in his eyes. Oh, fuck, I can’t take it. He was trembling, every nerve screaming, every inch of him aching to bury himself inside this stubborn, beautiful bastard, to take control the way only he could.

“Alright,” Sanji muttered, voice low and dangerous. “If you’re gonna tease me, I’ll take over myself.”

Before Zoro could protest, Sanji lifted him slightly, rolling them so he could thrust up, cock pressing hot and hard against Zoro’s slick entrance. Then—with one firm, ruthless motion—he pushed in.

Zoro gasped, arching back, eyes wide, hands gripping Sanji’s shoulders for balance. The sudden stretch, the full pressure, was shocking, exquisite. His slow, teasing ride was gone—replaced with Sanji’s relentless, precise, punishing rhythm.

Sanji set a pace that was brutal and slow, savoring every slick inch, drawing out Zoro’s moans, prolonging the delicious tension that had been building for so long. Zoro’s hands dug into Sanji’s shoulders, fingernails scraping the skin, chest heaving, muscles trembling. He couldn’t stop the ragged sounds leaving his throat—gasps, curses, low moans—each one egging Sanji on further.

“God… you feel so good,” Sanji groaned, hips snapping upward, hitting just the right spot inside Zoro with each thrust. “So tight… so fucking perfect.”

Zoro’s head fell back against the mirror again, lips parting in a moan that was almost a scream. His body shook, slick skin pressing against slick skin, cock aching, balls tightening. Every thrust from Sanji made him twitch uncontrollably, desperate and overwhelmed.

Sanji’s hands slid lower, teasing, gripping Zoro’s thighs, urging him up, holding him in place while he fucked him with measured ferocity. He drove deep, slower than Zoro had been riding, but harder—every push and pound designed to crush the swordsman’s will and bend it into pleasure.

“You’re mine,” Sanji muttered, voice thick and broken. “All of you. Every inch. Don’t you dare slow down again.”

Zoro whimpered, hips bucking against the rhythm, body trembling, cock slick and straining, balls tight with the overwhelming tension of riding and being ridden all at once. “Sanji… fuck… harder…”

Sanji obliged, thrusts snapping faster, deeper, relentless. Zoro’s moans grew louder, rawer, begging, though the words weren’t quite coherent anymore. His body was a coil of fire, every nerve ending screaming, and Sanji matched him, grinding and slamming, taking control like he’d been holding back for far too long.

Zoro’s hands fisted their clothes, the mirror, Sanji’s shoulders—anything—as pleasure built, coiling tight and impossible. Every thrust, every slick, full motion of Sanji inside him made him twist and cry out.

“Gonna—fuck—gonna come!” Zoro growled, his voice rough, hoarse.

Sanji just smirked darkly, leaning close, teeth grazing Zoro’s jaw. 

Zoro’s cock throbbed violently as the first wave of release hit him, muscles clenching, body shuddering uncontrollably as Sanji continued to fuck him, dragging him through the edge again and again until he was gasping, moaning, completely undone.

Sanji’s own control broke moments later, thrusting deep, hips snapping hard, letting out a guttural groan as he spilled inside Zoro. Their bodies pressed together, slick and trembling, as they rode out the last waves of shared, filthy release.

The mirror fogged, sweat slicked them together, and when the tremors finally eased, Zoro’s chest heaved against Sanji’s, both of them panting, shaking, utterly wrecked.

Zoro let out a low laugh, bitter and satisfied. “You… asshole.”

Series this work belongs to: