Actions

Work Header

Our Last First Kiss

Summary:

Zoro dragged a hand down his face. “I don’t get how he’s dating Ace. I mean, it’s Luffy’s brother for fucks sake!”

“Zoro…” Usopp spoke as if at a loss for words.

“Actually—”

Sanji’s body leaned forward before his mind could stop him, and he held his breath, feeling the door’s rough surface brush against his ear, listening.

“It’s killing me.” Zoro’s voice was raw with unspoken emotions.

“I know,” Usopp said. “But that’s not fair.”

“I know! I know it’s not fucking fair,” his voice cracked at the end, and all Sanji could do was take a shaky breath as Zoro continued. “And you’re right. The cook likes him… So, who the hell am I to stand in the way?”

---

Or, Sanji overhears a conversation with some shocking information.

Notes:

Man, I wish I could be like one of those people who make funny or unhinged author's notes but I just can't xD

Anyway, this started as a silly little twt thread but the people craved more, so here's a full-on oneshot for ya'll!

If you've read my other works, you might recognize the beginning scene as the same as one of my bkdk fics and it's actually heavily inspired by a scene from the show Psych that just made me emotional so I can't help putting characters in this situation. The plot of these two fics (and the show) are different though!

So, hope you enjoy it!

(See the end of the work for more notes.)

Work Text:

Sanji rubbed at his throbbing shoulder, the bandage chafed against his skin. “Shitty Marines and their shitty guns,” he muttered, stomping down the stairs below deck. 

“In that moment,” Zoro’s all-too-familiar voice, low and rough, came from the boys’ bunker, “I could only think of Sanji.”

Sanji froze. His hand hovered just above the door handle, fingertips barely grazing the cold surface. The weariness of the day, the dull ache and bruises from the fight, was suddenly forgotten. His breath caught in his throat as his lips parted in surprise, and his ears strained to pick up the rest of the conversation. 

Eavesdropping was wrong, he knew that, but shit, this was the first time he’d ever heard Zoro say his name, excuse him for being a little curious. That, and the unfamiliar vulnerability in his voice when he said it, caused Sanji’s heart to clench uncomfortably. 

“What do you mean?” Usopp’s voice came next.

“I just—” There was a heavy sigh, and Sanji could picture Zoro dragging a hand down his face. “I don’t get how he’s dating Ace. I mean, it’s Luffy’s brother for fucks sake!”

Blue eyes shot up wide.

“Zoro…” Usopp spoke as if at a loss for words. 

“Actually—” 

Sanji’s body leaned forward before his mind could stop him, and he held his breath, feeling the door’s rough surface brush against his ear. 

“It’s killing me.” Zoro’s voice was raw with unspoken emotions, it cut like the sharpest knife. Sanji clenched his hand, feeling his nails dig into the palm of his hand, but it did little to ease the unexpected ache in his heart. 

“I know,” Usopp, always the understanding and supportive friend, likely put a hand on Zoro’s shoulder. “But that’s not fair.”

“I know! I know it’s not fucking fair,” his voice cracked at the end, and all Sanji could do was take a shaky breath as Zoro continued. “And you’re right. The cook likes him… So, who the hell am I to stand in the way?”

The words hit him like a cannonball, knocking the wind right out of him. His vision blurred, and the floor seemed to sway more than usual under his feet. Never, not even after his fight against Mihawk, had he ever heard Zoro like this.

“Right,” Usopp agreed. 

“I want him to be happy, I really do, but,” Zoro chuckled, but it sounded hollow, “I want to be happy, too. And for some reason,” there was a deep but trembling inhale, “I can’t imagine that happening without that idiot cook.”

A gasp slipped from Sanji’s lips before he knew it. He slapped a hand over his mouth, feeling it tremble against his lips.

“How fucked up is that?” 

Zoro’s dejected voice was the last thing Sanji heard before his brain completely shut off. 

He stumbled back, knees weak, a hand bracing against the wall to steady himself. Blood rushed to his ears, drowning out any sound but the erratic pounding of his heart. The hallway seemed to spin before him, yet he pushed through and made it up the stairs. As if in a haze, with legs moving on their own, he made it to the safety of the galley. 

There, with a shuddering breath, Sanji leaned his back against the door and slid to the floor.

“Shit,” he whispered, voice quivering in the quiet kitchen.

Hands shook as he fumbled for his cigarettes in his breast pocket. The package slipped once before he managed to pull one free. The lighter clicked once, twice, three times before he finally got a flame. Shadows flickered around the dim lit room.

“The fuck was that?” he thought, knuckles growing pale as he tightened his grip on the lighter.

With a shaky breath, he inhaled the comfort of nicotine. Smoke wrapped around him like a blanket as his pulse continued to pound in his veins. 

Zoro’s voice echoed in his head, weighing on him like an anchor.

Couldn’t be happy… without him?

Him?! Sanji?! The object of Zoro’s constant insults, the source of his daily irritation, and sworn rival. That’s who Zoro needed to be…happy?!

He bit down on the filter of the cigarette.

Surely Sanji must’ve misheard him? Or misunderstood? He did stumble on the conversation out of context after all. 

Taking another long drag of the cigarette, he let the smoke fill his lungs before breathing it out slowly through trembling lips. Blue eyes focused on the red embers before him, in a weak attempt to ground himself.

But then…Why did Zoro sound so…dejected? And what was he on about, thinking Sanji was dating Ace? Like Zoro had phrased it, that was Luffy’s brother for fucks sake. There might’ve been some flirting with him on the ship, but that was just for fun. It didn’t mean anything.

Sanji wrapped his arms around his knees, pulling them close and resting his chin on top of them. 

Ace was more of a distraction, someone to keep his mind off the intrusive thoughts that kept tormenting him as soon as he was left alone. But there’s no way Sanji would date him. They hadn’t even—Okay, so they had kissed a few times, but that was it. Dating him spelled all kinds of trouble that Sanji would rather avoid. Besides, Sanji liked—No, scratch that, he loved—

The door behind him thudded, jarring him out of his spiraling thoughts.

“Hah? The fuck?” came the familiar grumble.

Sanji flinched. The door pushed against him again, and he scrambled back, unsteady with the cancer stick hanging loosely between his lips.

It opened. And there he was.

Zoro, standing in the doorway, brows raised and eyes wide.

Sanji loved—

“Z-Zoro?” Sanji stuttered, feeling his pulse spike again.

Silence settled between them, the tension raw as the world faded around them. There was no howling wind, no crashing waves or creaking wood, just the hammering of Sanji’s heart.

Zoro’s gaze dropped, taking in Sanji’s sorry state on the floor, ash scattered at his side. A sigh, rough and resigned, left his lips as he dragged a hand down his face.

“You heard, didn’t you.”

It wasn’t a question.

“Heard? Heard what?” Sanji scrambled to a stand, gaze stuck to the floorboards. “I don’t know what you’re talking about.”

It was with unsteady legs that Sanji backed further into the galley, seeking refuge in the familiarity of his kitchen counter, away from the swordsman. 

“Uh-huh,” Zoro hummed unconvinced.

Behind him, a chair scraped against the wooden floor, and Sanji gripped the edge of the counter, its polished surface digging into his palms. 

“I’m not giving you any alcohol,” he gritted out, hoping to shift the tension in the air.

“Not here for that.”

“Then you can leave,” Sanji punctuated by slamming a pot onto the stove, the rattle echoing through the quiet galley like a challenge. 

Tomorrow’s breakfast had already been prepared earlier, but there was nothing that said he couldn’t start prepping tomorrow’s lunch as well. It would save him time tomorrow.

“No,” Zoro’s tone was firm, unrelenting.

Oh, for fuck’s sake. 

“I don’t have time for you right now,” Sanji claimed, turning on the faucet, feeling the temperature with his finger. It was cold, just like Sanji felt. 

“Then make time,” Zoro raised his voice over the sound of running water. “We need to talk.”

“There’s nothing to talk about.” 

“Earlier. You heard me.”

Sanji flinched, the pot slipping from his hands and clattered into the sink, making the water splash up his sleeves.

Shit.

“I’ve been here the whole time,” he muttered, fumbling to adjust the saucepan under the stream. 

Zoro huffed a low and disbelieving laugh. “Even Luffy lies better than that.”

“Whatever.” Sanji slammed the faucet shut.

“Fine,” Zoro sighed heavily. “Don’t talk. Listen.”

Like a stone thrown into the ocean, Sanji’s heart sank in his chest. 

Stupid, stubborn marimo.

Reclining to his fate, Sanji put the pot back on the stovetop, bracing his weight against the counter. His chest felt tight, like he was under water, making it hard to breathe. 

“I don’t know how much you heard,” Zoro started, his voice rough with regret, “but you can just forget it.”

Sanji frowned. 

Forget it? Forget it?!  

Like it was that easy. Like Sanji’s heart hadn’t started racing uncontrollably upon hearing his name spoken so softly in Zoro’s voice. Like his pulse hadn’t spiked through the roof when Zoro said he needed Sanji. Like the whole conversation he just overheard hadn’t gotten his hopes up that maybe, just maybe , Sanji had a chance. 

“Pretend you didn’t hear it,” Zoro paused, contemplating. “Well, not the way you’re pretending now. I mean really,” he emphasized, “don’t think about it.”

Sanji clenched the ladle in his hand, knuckles growing white around the handle. 

Silence settled, heavy in the air around them, suffocating. Through gritted teeth, Sanji tried to breathe but managed nothing but a wheeze. 

“Alright then,” Zoro said, the chair creaking as he got up. “Goodnight.” 

Heavy footsteps headed for the door. 

If Sanji let him go now, he feared it would all vanish. Everything he had dared to hope for, if even for a moment, was about to slip through his fingers, out the door, into the sea and never to resurface again. 

Something inside of him snapped. 

The ladle flew from his hand. With a sharp whistling sound, it sliced through the tension like a blade, clattering to the floor as it hit the wall, missing Zoro’s face by a mere inch.

“You—” Sanji tried, voice shaky. So he cleared his throat and tried again. “Expect me to just forget it ?”

Zoro’s eyebrow twitched. “Well, you didn’t hear anything, did you? You were here the whole time, right?”

Anger burned in Sanji’s veins, from the heel of his feet to the top of his head, curling his hair with the heat of it. 

“Oh, fuck you,” Sanji snarled, stepping forward throwing his arms out. “You can’t just waltz in here, say whatever you please, and then leave!”

“You said there was nothing to talk about.” Zoro shrugged. “I’ve said what I wanted to say, so…” he trailed off, gesturing to the door.

“Don’t you dare walk out of here, you shitty swordsman!” Sanji screamed, jabbing a finger toward him. 

“You fucking told me to leave!” Zoro spun in his place, directing a glare in Sanji’s direction.

“I’ve changed my mind!” Sanji seethed, hands balling into fists so hard he could feel his nails dig into his palms. 

“You’re so annoying, you know that?”

“Oh, you fucking—” Sanji choked on his words, furious. “If I’m so damn annoying, why do you need me to be happy, then huh?!”

“You—” Zoro flushed scarlet, from anger or embarrassment, Sanji couldn’t tell. “See! I knew you heard it!”

“Of course, I fucking heard it!”

With a taut jaw, Zoro's gaze darted around the room, looking anywhere but at Sanji, before lingering on the door.

“If you don’t want people to hear, maybe don’t talk about it in our bunker, where we, you know,” Sanji gestured with his hand, “all sleep.”

“It’s not like I planned it.” Zoro’s shoulders tensed, his breath a mere shudder. “I wasn’t ever planning on telling anyone, but just—fuck.”

“Go on…” he prompted, voice low and firm.

Zoro pushed the heels of his hands into his eyes. “It just hurts, okay?” he bit out. “You happy now?” His hands dropped to his sides, revealing a sharp glare, but beneath that, in the shimmer of his eyes, flashed something vulnerable. This wasn’t a challenge, but a confession.

“No, I’m not happy!” 

“Well, I’m sorry ‘bout that but it just fucking hurts seeing you so damn happy with him,” Zoro choked, then, in a broken whisper, he added: “Why can’t it be me?”

Sanji bit his lip, feeling his stomach twist into a tight knot. “You’re an idiot,” he said, but so was he. 

He had bottled up his emotions for so long, hidden behind smiles and playing pretend, all to keep Zoro from finding out how stupidly and hopelessly gone he was. But all that had just led to him hurting himself and Zoro. Like an idiot.

“For once, I’m not gonna disagree on that,” Zoro muttered.

“What do you even know about me and Ace?” he blurted out before he could stop himself.

They had been careful not to let anyone know about their spontaneous meet-ups. Careful not to let anyone see. Especially not Zoro, the one person whose opinion mattered the most. 

Zoro grimaced as if remembering an awful memory. “Saw you kiss in the pantry. A while back.”

“Shit…” There was that one time Ace had insisted he had closed the door, but Sanji didn’t remember hearing it click shut, and then there were warm lips on his, and he wasn’t thinking straight anymore. Wasn’t thinking at all.

“Yeah…” Zoro squeezed his eyes shut. “But that’s not even the worst.”

Damn. Just how much did he see?

Sanji winced. If it had just been a kiss, maybe he could talk him out of it. Say he must’ve seen wrong. But if it was more…

“It’s the way you smile around him,” Zoro said as if forcing the words out.

Sanji startled, blinking. “What?”

“When you’re near him…when you serve him food…” Zoro continued, his tone weak, dejected. ”You have this smile.”

“What smile?”

“I don’t fucking know!” Zoro snapped, voice threatening to break. “A smile, okay!”

“No, you’re gonna have to be more specific.” Had the moss finally started infecting his brain?

“You smile like…” he paused, gaze searching the room as if he would find the right words written somewhere in the kitchen. “Like the sun?” It was phrased as a question, prompting Sanji to raise a curly brow in confusion. “Bright. Blinding. Real. Like you’re…actually happy.”

“Huh.”

“Like, when you talk about that ocean you’re so obsessed with,” Zoro added.

“The All Blue,” Sanji corrected, knowing full well there was no way Zoro didn’t remember its name.

“Yeah!”

Oh. So that’s it. The Mosshead nonsense finally made sense.

“Oh, marimo,” Sanji sighed, sinking into a chair and lighting up a cigarette. “Do you know who sits opposite Ace during meals?”

Zoro grimaced and spoke through gritted teeth. “Me.”

“Exactly.” 

Zoro just frowned, so Sanji took a quick drag, glancing at the smoke as it rose lazily into the air before he continued. 

“When Ace helps me out in the kitchen, do you know who I see through the window working out on the deck?”

“Me?” Zoro asked, frowning as if trying to remember if there were any other idiotic train maniacs out on deck. 

Sanji nodded, twirling his hand, causing the smoke to curl. “See where I’m going with this?”

“No?”

Sanji wasn’t even surprised, this was the idiot mosshead after all.

“I’m not smiling ‘cause I’m with Ace,” he said as if explaining this to a very small child.. “I’m smiling ‘cause I’m looking at you .”

Zoro’s eyes went wide. “Me?”

“Yes, you dumbass.”

“What…” Zoro trailed off, eyes searching Sanji’s, then, in a small, uncertain voice, he spoke. “I’ve never seen you smile like that when looking at me.”

“That’s because I’m trying my fucking hardest to hide it from you.”

“Hide what?”

“Oh, you really are an idiot.” Again, so was Sanji. He blew out a breath. “My feelings for you.”

Zoro stiffened, eyes widened. “Your feelings? …For me?”

“Yeah,” Sanji nodded, waiting for the mossbrain to catch up.

“But… You’re with Ace?”

“No.” Sanji fidgeted in his seat. “Or well, yeah, but no.” He took a deep inhale of the nicotine, feeling it calm his nerves as he delayed the inevitable. “Okay, so I might’ve been with Ace a few times,” he said with a grimace. “But I’m not with him. That’s Luffy’s brother for fuck’s sake!”

“What?” Stunned, Zoro blinked, still not catching up. “Then why the hell are you running around kissing him behind every corner?!”

“Every corner—I’m not!” Sanji sputtered, a blush blooming across his cheeks.

“I fucking saw you with his tongue down your throat!”

“That’s not—” Sanji raked a hand through his hair, tugging at the strands. “It just happened!”

“Oh?” His tone raised with disbelief. “So what? He just tripped and you kindly caught him—with your mouth?”

“What the—No!” Sanji shouted, halfway out of his chair, with his stomach twisting like a knot. “It was nothing! It didn’t mean anything!”

“Sure didn’t look like nothing,” Zoro muttered.

“He is—“ he cut himself off, “he was a distraction.”

“A distraction?” Zoro questioned, raising an unimpressed brow.

“Yes! From my stupid feelings for you!” Sanji made a sharp gesture with his hand toward Zoro.

The cigarette caught his eye, and Sanji brought it to his lips again, hand trembling slightly as he took a long drag. If he could just suffocate the panic with the smoke, he was sure he could get through this hell on earth situation he had gotten himself into.

“Wait, wait, fuck,” Zoro sounded exhausted as he rubbed his hands across his face. “Lemme get this straight.” He glanced up at Sanji from behind his hands. “Because you have feelings for me, you’ve been making out with Ace?”

“When you put it like that…” Sanji winced.

“How else am I supposed to put it?” Zoro barked, throwing his hands out.

“Just—Not like that!”

A vein in Zoro’s big, stupid forehead looked like it was about to pop any second. 

“Just…” With a sigh, Sanji sank back into his chair, burying his head in his hands. The next words that came were a stifled and strained mumble.

“What?” Zoro asked, taking a step closer.

Another mumble, another step closer.

“Can’t fucking hear you,” Zoro claimed, trying to sound smug, but an unsure undertone betrayed him.

Sanji clenched his teeth.

Shitty lying swordsman.

“So?” Zoro prompted him to continue.

“Oh, you want me to scream it for the whole ship to hear?” Sanji snapped and shot to a stand. “Shit. Fine! I like you, you idiot!”

The words seemed to echo in the galley, big words for such a small room. 

It wasn’t fair, the way Zoro stared at him with wide eyes and a slight pinkish hue to his cheeks when he was the one who had goaded Sanji into voicing his most protected secret.

“I like… like you, always have,” he said again, softer this time. “But I never thought—” The words caught in his throat. It was words he had swallowed so many times before that speaking them out loud threatened to burn his tongue. “Never thought you’d like me back. Or well, like me at all .”

“What? We bicker a little, and you think I hate you?”

“I wouldn’t say it’s a little, but…yeah?”

“Fuck,” Zoro sighed, shoulders sagging. 

“Yeah…”

A silence stretched between them, heavy and uncomfortable.

“So,” Zoro began slowly, “instead of talking to me about it, you go and distract yourself ,”—he air quoted—“with Ace?”

“That’s not—” Sanji’s voice faltered.

Zoro cut him off with a fierce glare.

“Yeah, kinda.” Sanji’s gaze fell to the floor. “You don’t know how much it hurts to love someone who doesn’t love you back.”

Zoro didn’t say anything, didn’t need to, because when Sanji looked up to meet his gaze, that deadpan look in his eyes said it all.

“Oh.” He blinked, and realization dawned on him. “Right. I guess you do.”

“Yeah.”

“Shit.” Sanji breathed in, burning his cigarette down to the filter. The smoke filled his lungs with temporary comfort. “Sorry…”

“Don’t be…”

”I’m an idiot,” he spat and ground out his cigarette in the ashtray with a sharp, furiated motion.

“Yeah, you’re a fucking idiot but,” he gave a loopsided smile, “we both are.”

Awkward silence filled the galley, and in a way, it was worse than the suffocation tension that had been there before. Tension could be dealt with. Just throw a few well-suited insults and kick your way past it. This, however, was all new to Sanji, and he didn’t think violence would be very effective. 

“So,” Zoro’s rough voice cut through the silence. “Can I kiss you now, or do you have a date with Ace?”

Sanji flushed red, strands of his hair curling at the ends. “Shut up.” 

In a quick stride, Sanji stomped over, closing the gap as he grabbed a fistful of Zoro’s ragged white shirt and yanked him in. Their lips smashed together, teeth clanked hard against each other, but neither pulled away. Just a grunt of discomfort before adjusting. 

Tilting his head, Sanji found a better angle, yet their lips moved out of sync, driven more by desperation than anything else. The taste of sake mingled with his cigarette breath, reminding him of an old sailor’s bar. 

It was messy, a little painful, too desperate, and not a first kiss to brag about.

Yet, it wrecked Sanji in a way no kiss ever had.

It was perfect.

His heart thundered in his chest, his mind blank like white noise, drowning out the world around them. 

Fingers carded through golden hair, tugging him closer, and Sanji hummed, melting into it. A rush of emotions washed over him like a wave, threatening to pull him under with the weight of everything, all the regrets, the hope, his fears. 

Legs trembled, and Sanji staggered back. Pushing forward, Zoro pressed him against the wall with a solid thud. Sanji gasped, and Zoro took that as an invitation, pushing his tongue past his lips. 

The taste of the sake hit him full force, heavy and bitter. The cheap brand he had served Zoro earlier that evening, before he knew what the night would bring. Had he known, he’d have picked something better. Now his first kiss with Zoro would forever be associated with that shitty ass sake. 

“So,” Zoro mumbled against his mouth, “is he better than me?”

Sanji chased his lips, but Zoro leaned back, out of reach but close enough to tempt.

“I can tell you lack experience,” Sanji didn’t mince words. "He's got technique.” If Zoro wanted to ruin their moment by talking about another man, fine. Then Sanji wasn’t going to go easy on him. 

Zoro scowled, and Sanji resisted the urge to smooth out the wrinkle between his brows. 

“I got technique!”

“Don't worry about it, Marimo,” Sanji tugged at his shirt, pulling him closer, lips brushing against his as he spoke. “Kissing you feels better.”

The scowl on Zoro’s face didn’t disappear entirely, but it softened just a little, which was a win. 

“Where has he kissed you?”

Sanji groaned. “Does it matter?” 

“Yes, it fucking matters,” Zoro growled, then bit his throat hard enough to leave a mark, making Sanji hiss. “Don't want you going around thinking about his amazing techniques!”

“I don’t,” Sanji tried, but Zoro glanced up at him with a glare showing just how serious he was about this. 

“I’m gonna make you forget all about it. About him,” Zoro narrowed his eyes. “So where?”

“Fine, fine,” Sanji relented. “My mouth, neck,” burning hot lips were back on his throat in less than a second, “and e-ears,” he stuttered through the sensation.

Mindful not to miss a spot, Zoro worked his way up his neck, trailing the curve of his jaw up to his ear. Teeth closed gently around his earlobe, biting, but not hard enough to hurt. Zoro continued kissing Sanji’s flushed cheeks, inching closer to his mouth, capturing his lips. 

The kiss burned, and Sanji craved more. He brushed his tongue against Zoro’s lips, and they parted, stealing Sanji’s breath away. 

The world faded around them, and for a moment, there was nothing but Zoro. His sturdy chest pressed warm against Sanji, the clean-sweat scent of his sun-kissed skin, and the noises rumbling from the back of his throat. 

Then Zoro pulled back, pressing his forehead against Sanji’s. 

Panting, Sanji tried to blink himself back to reality. 

“Where else?” His voice had dropped, now rough and low.

Sanji found his gaze and nearly staggered at the sight. That look, steel grey eyes burning with an intensity Sanji had never seen before, not even in battle. 

“Uh—” It felt like his mind was under water, still reeling with the fact that he was kissing Zoro.

Rough hands slid down his arms, steady and deliberate. He found Sanji’s hands, taking a gentle hold of them, and brought them up to his face.

“Did he kiss you here?” His voice was a tender rasp as Zoro brushed his lips against Sanji’s knuckles. 

All Sanji managed was a small shake of his head, his breath caught somewhere between disbelief and awe. 

Zoro pressed Sanji’s hand closer, breathing them in before slipping out a quiet, contented sigh. 

His gaze carefully followed Zoro’s every move. His breath hitched when Zoro turned one hand over, cradling it in his own as he nuzzled into Sanji’s palm. A stubble tickled his skin, and Sanji’s lips curved into a small smile. Reaching out with his fingers, he could graze the golden earrings, they chimed against each other with the tinkling sound of something sacred. 

Roronoa Zoro, the world’s next greatest swordsman, melting into the touch of a mere pirate cook. His own hand, small and delicate, meant to give, not to take, rested so safely under a broad, coarse hand, usually gripping deadly swords. 

A moment passed, then Zoro tilted his head and pressed a tender kiss to the inside of his wrist, letting it linger. Then he kissed the other hand too, before guiding them around his neck. His own hands found Sanji’s waist, wrapping around him to pull him closer until their heartbeats touched. 


(art commissioned by the amazing Sae)

“Where did he touch you?” Zoro asked, voice low. 

Sanji stiffened, his fingers twitching against the back of Zoro’s neck. For someone who wanted Sanji to forget all about Ace, Zoro sure brought him up a lot. That was not what Sanji wanted to be thinking about right now—not when Zoro was finally here with him, smelling like steel and sun-warmed cotton, embracing him. Anchoring him. 

Pursing his lips, Sanji muttered, “Just touch me wherever you want.”

A leg slipped between his thighs, pressing up. “Did he touch you here?” 

“Maybe,” Sanji shifted. 

Zoro tensed.

Then one hand traveled down his back, slow, tantalizing, until it settled low. A squeeze, possessive, deliberate. 

“Here?”

Sanji’s breath hitched. “No. Never.”

It tickled as lips curved against his skin, and Sanji knew Zoro was smirking, evident by the way his voice turned to a satisfied murmur.

“I’m your first?”

Sanji swallowed and managed a nod. 

“And your last,” Zoro added as if it was already decided before his fingers slipped beneath the waistband of Sanji’s pants. 

“Yeah,” Sanji breathed, the word barely making it past his lips. 

Warm and steady, Zoro’s hand kneaded its way down his ass, inching forward with purpose, slipping between his thighs and grazing his already sensitive dick. 

A gasp escaped Sanji’s lips as his head knocked back against the wall with a dull thud. Like a fucking tease, Zoro brushed against his cock again, it twitched, straining uncomfortably against the confines of his pants.

His knees trembled, ready to buckle beneath him if it wasn’t for Zoro’s hold.

“Fucking tightass pants,” Zoro grumbled dropping to his knees. There was a click, a tug, and his belt gave way in Zoro’s hands with surprising ease.

Pants pooled at his feet as cold air kissed his bare legs. Then warm hands trailed up his legs, making him shiver more than the cold. 

“So,” Zoro said, voice rough, as he kissed the pale skin on Sanji’s inner thigh, “he never touched you down here, huh?”

With a gasp, Sanji steadied himself with his hands on Zoro’s shoulders. “N-no,” he stuttered weakly. 

Zoro’s hot tongue trailed up his leg, stopping right by the edge of his boxers. Sharp teeth sank into the muscle there, and Sanji hissed, his hands tightening, nails digging into Zoro’s skin. 

A soothing lick caressed the mark while Zoro’s hand found its way up his other leg. It slipped beneath fabric, and curled around his aching cock.

“Already so hard for me,” Zoro hummed, giving it a slow stroke.

“Shit,” Sanji gasped, heat coiling in his abdomen, legs trembling. “Zoro…”

A low growl vibrated against his skin. 

“Cook,” Zoro rasped, fidgeting with the hem of Sanji’s boxers. “Can I?”

“Yes,” Sanji breathed, and not even a second later, his underwear joined his pants around his ankles. 

Glancing down, he caught Zoro’s gaze, pupils blown wide, lips parted in a ragged breath. That look, full of need and desire, all for him . It sent Sanji’s heart into overdrive, his pulse hammering in his ears. 

Zoro kept kissing his way up his thigh, stopping to suck on his hipbone before continuing over his lower abdomen and down lower again. He paused at the base of his dick, cheek resting against him. Glancing up, brows slightly raised—asking without words. 

Sanji heard him loud and clear. 

“Please,” he pleaded, too far gone to feel any embarrassment about the needy tremble in his voice. 

Zoro didn’t hesitate. His mouth wrapped around his throbbing dick, hot and wet. For someone biting down on swords all day long, Zoro was surprisingly careful in the way his tongue swirled around the tip, firm yet gentle. 

“F-fuck,” he gasped, fingers scrambling for something to hold onto, fisting into Zoro’s shirt.

Zoro just took him deeper. 

Sanji closed his eyes, riding the waves of pleasure coiling in his nether regions, the pressure growing tighter with every stroke of Zoro’s mouth. He could hear nothing beyond his own ragged breath and the grunts Zoro made around his dick. 

A hand trailed up between his thighs, feeling around his ass for the entrance, carefully prodding against it, waiting for permission.

Sanji flinched, realization hitting his dazed mind. This was his first time. Dry. No preparations. Yeah, this could hurt. 

“W-wait.” He snatched Zoro’s wrist, pulling it away. For a second, Zoro stilled, and something flickered in his eyes…hesitation? Fear?

With a cocky smile, Sanji brought the hand to his mouth, reassuring Zoro with a soft kiss against the back of it. Then, sticking his tongue out, he licked a hot trail along the rough skin, tracing the stories written in every scar and callous. Swirling around thick fingers as he memorized each dent and blister left by hours of sword training, savored the faint taste of salt and steel. 

“Okay,” he whispered, letting the slick fingers slip from his mouth with a messy smack of his lips. “Go ahead.”

Zoro stared up at him, eyes wide and pupils dark with desire. A low growl rumbled from deep inside, his lips curving around Sanji in what could’ve been a smile.

Wet fingers quickly found his entrance again, treading carefully before one finger pushed in, slow but deliberate. Sanji took a deep breath, ready for any discomfort as Zoro worked his way in, his mouth still busy with his cock. 

Bracing one hand against the wall, the other tangling in mossy green hair, Sanji steadied himself against the erratic rhythm of Zoro’s movements. The pressure built again, hot and demanding, and as another finger pressed into him, he gasped. 

“Z-Zoro,” he moaned. “I’m almost…”—a sharp inhale, thighs trembling—“there.”

Achingly slow, Zoro slid his mouth off of him. The moment cold air hit his wet arousal, Sanji’s knees gave out, and he sagged against the floor. Strong arms caught him halfway down. 

“Whoa,” Zoro gasped in surprise, pulling him close. 

“‘m fine,” Sanji mumbled into his chest, still panting. 

Zoro’s scrutinizing gaze burned across his disheveled state, lingering on his shoulder.

“You sure?”

“Yes, I’m fucking sure,” Sanji snapped, breath strained.

“Sorry ‘bout that.” Fingers gently traced the wound over the fabric of his shirt. 

“Don’t be. It’s just a graze…” He managed a smile. “Thanks to you.”

Zoro didn’t look convinced.

“It’s nothing, so, “ he insisted and nudged him, pressing his heel against Zoro’s crotch. “Come on, already.”

The worry in Zoro’s eyes shifted to a teasing glint. “So needy.” 

“Like you’re any less needy, can’t even be happy without me.” Sanji raised a challenging eyebrow, letting his foot slowly drag around the hard outline of his pants. 

“Oh, fuck you,” Zoro growled, batting his foot away.

Sanji had seen Zoro naked before, during showers, post-battle cleanups, or just the usual pirate life chaos, but never like this. Never taut and bulging against his pants. Never with eyes that burned like he needed him. 

“There’s some olive oil,” Sanji said with a nod toward the cooking area. “Above the sink. Left side.”

Zoro scrambled to his feet, and Sanji watched him with a small smile as he opened the cupboard to the right.

“Your other left.”

“I know,” Zoro snapped, tearing the other cabinet open.

While Zoro rummaged for the right bottle, Sanji tossed his pants and underwear to the side. 

“Got it.” Zoro returned, kneeling in front of him, rough hands tugging open his own pants quick and efficient. 

Oil spilled into his palm, dripping down onto the floor, but Sanji couldn’t care less. He could only stare as Zoro smeared it against his pulsing member, his breath hitching slightly at the contact. No fantasy could measure up to this, to the real Zoro, to his muscles rippling under skin, the sweat gleaming on his collarbone. 

“Still good?” Zoro asked, one eyebrow raised, glistening cock in hand.  

“Yeah,” Sanji breathed, pulling on Zoro’s shirt. “Take me.”

Zoro situated himself between Sanji’s legs, lining up his dick with the hole. “Ready?”

Sanji took a deep breath, willing his shoulder to relax. “Yeah.”

The first push was careful, slow. Just the tip, yet the stretch made Sanji’s breath catch. 

“Cook,” Zoro groaned, dropping his forehead on Sanji’s shoulder. “Fuck…”

“Yeah…” Pressing his head back against the wall, Sanji dug his fingers into Zoro’s shoulders. 

Holy shit. 

This was more than he had ever imagined. More than his own fingers had ever given him, more than Zoro’s. This was bigger, deeper. Real. This was Zoro, the man who had fought beside him, had his back, argued with him, and now he was inside him, like he belonged there. 

They stayed like that until their breaths evened out, synchronizing with their heartbeats.

“‘m gonna move,” Zoro mumbled, his hips thrusting carefully back and forth, testing the give of him, the friction. 

Sanji bit down on his lip, but a sound escaped him anyway. Each movement eased the pressure into him, hot, deep, and right . His chest tightened, tears stinging the corners of his eyes, not from the ache of the stretch but the weight of what this moment meant. That he was here. That Zoro wanted him. That he made Zoro happy.

“It’s okay,” Sanji rasped. “Do whatever you want.”

Zoro’s breath was ragged against his neck, his hand gripping tight into his thigh. “You feel so good,” he whispered in his ear like a secret. “So fucking tight…”

The rhythm built, and Sanji clawed at the back of Zoro’s shirt, pulling it over his head with shaky fingers. Exposing that scarred chest that reminded him how much dreams were worth fighting for. He reached forward, kissing the jagged skin he admired so much. Zoro’s heart hammered, fast yet steady, beneath his trembling lips.

“Close,” Sanji choked out. “I’m close.”

“Wait,” Zoro said with a ragged grunt. 

Then Zoro’s hips rocked faster, his hand reaching down to wrap around Sanji’s dick, stroking it at the same time. Sanji gasped, his nails scraping against the tanned skin of the swordsman’s back. 

He’d have to apologize for those marks later, he thought, gripping to him like a lifeline. 

Hot lips found his again, hungry and messy, tasting like need, want, and all the words they couldn’t voice. Zoro’s tongue grazed the roof of his mouth, making heat curl in his gut. 

His vision went white, there was no more holding back. 

“Shit—Zoro—” Sanji gritted out. “I’m coming.”

Pleasure washed over like a tidal wave, stealing the strength from his body in its wake as Sanji spilled all over his stomach. 

Zoro growled low and feral from the back of his throat, his hands wrapping around Sanji’s waist before slamming into him deep one last time, and Sanji felt it. The shuddering of his body, the surrender of control as Zoro came hot inside him. 

And then he collapsed on top of him, spent and trembling, their chests pressed together, heaving with ragged breaths. Sanji felt Zoro go slack inside him before he slipped out and lay down next to him, arm resting around Sanji’s waist.

They stayed like that, tangled and breathless, the galley quiet except for the echo of what they’d just done.

With a shaky hand, Sanji fumbled for his cigarettes, finding the crumpled pack in his breast pocket. He popped one out and stuck it in his mouth, lit it, and took a long drag, trying to steady his nerves. 

The hell had just happened?

Zoro nuzzled closer, like he didn’t want to let go. 

“So, you like me, huh?” he asked, voice quiet, expression vulnerable. 

Sanji glanced at him, cigarette dangling from his lips.

“Isn’t that obvious after what we just did?”

Zoro didn’t smile. In fact, it looked more like a pout. Cute . His hand traced slow, soothing circles on Sanji’s waist. “You’re not dating Ace?”

“I’m not dating Ace,” Sanji said softly.

“So,” there was a pause, vulnerability lacing his voice, “wanna date me then?”

For a moment, Sanji just looked at him. At this swordsman with ambitions to conquer the world, lying next to a cook, on the worn-out floorboards of a tiny pirate ship, with messy hair, scratches on his back, and a stupidly hopeful look gleaming in steel grey eyes. As if Sanji could really say no. 

He leaned down, kissing him on his forehead with a smirk. “Think you can handle me?”

The arm around his waist tightened, pulling him even closer. “Think I just did.”

Then Zoro reached up, grabbing Sanji by the back of his head to pull him down into a kiss, slow, languid, and sweet. Not at all like their previous kisses. 

This time, Sanji broke away first, raising an eyebrow. “Stop acting all smug  with that sorry excuse of a dick still hanging out.”

“You didn't seem to complain about my dick when you were whimpering under me just a minute ago.”

Sanji huffed. “My judgment was clearly clouded.”

“Yeah,” Zoro said, grinning widely. “By my dick.”

“No!”

“Not very convincing coming from the half naked guy with cum all over his stomach and ass…” He made a sweeping gesture with his hand. “Thanks to my dick.”

Sanji kicked him half-heartedly in the shin. “You’re an idiot.”

“Yeah.” Zoro didn’t miss the beat. “So, can I be your idiot?”

Blinking, Sanji stared at Zoro from behind a trail of smoke rising to the ceiling. That wasn’t the response he had been expecting. Yet here Zoro was, a slight pink dust to his cheeks, a barely hidden hesitation behind his confident facade. 

“You already are,” he said. 

“Oh.” Eyes went wide, blinking in surprise. Then Zoro broke out in the most blinding grin Sanji had ever seen, one that even crinkled his eyes. “Alright then. C’mere.” 

And Sanji was pulled into another kiss, smiling into it. His heart was so full it felt like it would burst. Never in his wildest dreams had he ever imagined that overhearing a conversation not meant for him could lead to this. This happiness, this warmth, and this idiot of a swordsman looking at Sanji with such pure bliss, grinning like never before.

Then—

A creak. 

The sound of footsteps caught Sanji’s attention, snatching him back to reality. Louder, closer…shit.

Sanji shot up from the floor and kicked Zoro in the ribs.

“Get dressed!” he barked, scrambling for his pants. 

“Why?” Zoro didn’t even flinch, just stretched his arms above his head with a yawn.

“Someone’s coming, you idiot!”

Zoro tilted his head, scratching at his ear. “So?”

“So?!” Sanji spun around to glare at him, staggering a bit as he tried to pull his pants up. “You want the entire crew knowing we just—”

He caught sight of Zoro’s grin. An infuriating grin. 

And oh, how Sanji wanted to punch him. 

Since meeting Zeff, Sanji had learned to value his hands, to protect them, to never use them for fighting. But holy shit, it took every ounce of his willpower not to plant his fist into that smug, stupid face. 

Clenching his hands at his sides, Sanji glared at him. “Get fucking dressed you shitty swordsman or I swear , we’re never doing this again. Ever . Got it?”

Zoro stared at him, as if to estimate how serious Sanji was. When he didn’t budge, Zoro hurried to his feet while simultaneously tugging on his pants, just as there was a knock on the door. 

“Sanji!” Came Ace’s cheerful voice. 

Sanji whipped around towards the door. “Don’t—” 

Too late. The door creaked open, and Sanji hurriedly patted down his dress shirt. It may be useless, but he had to do something to conceal the fact that he’d just gotten railed on the floor. With his pulse racing, he leaned awkwardly against the kitchen table. His hair a mess. Shoes were nowhere to be found. 

He threw an anxious glance at Zoro.

And Zoro just stood there, Shirtless, hair wild, and grinning like he’d just won a damn prize. In any other situation, Sanji might’ve been flattered.

“Evening, Sanji!” Ace greeted with a wave of his hand, then turned to Zoro, his smile curled into something more amused. “And Zoro.”

“Evening,” Zoro replied with a nod, still grinning like the idiot that he was. Testing Sanji’s patience. 

“Ace, uhm—” Sanji hurried over to the fridge. “You hungry? Want something to eat? I could—”

“Nah, I’m good,” Ace’s gaze flitted between them. “Oh. I see.” His grin widened. “I’m interrupting something, aren’t I?”

Sanji shook his head furiously, voice raised high in panic. “No—”

“Yeah,” Zoro cut in, smooth and deep. “You are.”

Ace laughed wholeheartedly and genuinely. “That’s too bad, but, oh well,” he shrugged, “all's well that ends well, right?” He winked at Zoro before he strode out of the galley with another wave. 

The door shut.

Sanji sank into a chair, as all the tension in his body left him. “Shit.”

Across from him, Zoro took a seat, looking entirely too proud of himself. “I think that went well.”

Sanji gave him a fierce glare. “Idiot.” That punch would feel really satisfying right about now.

“Mhm.” Zoro leaned back, smirk firmly in place. “Your idiot.”

And even though Sanji tried to resist it, tried to keep the scowl intact…

He smiled anyway.

Because this was happiness.

Notes:

Okay, honestly, how was that?! T_T It was my second time writing smut (first time was ages ago and I hated what I created then) I tried to keep it kinda easy yet focus a bit on emotions but aaaah I just have no idea and kept cringing and being embarrassed the entire time T_T Not even getting drunk helped... My betas says it's fine though, so I trust them and gotta thank them both with all my heart! AkankshaD94 and imbekkable could not have done this without you! Thank you! <3

Also thank you Sae for the beautiful art you made!! <3 Go give their art some love!

And anyone reading, thank you so much for that and if you leave kudos or a comment I will be forever grateful! <3 You can also check out my other zosan works if you feel like it, for example we have some zosan angst with a happy ending in Through the dark or some soft zosan wishing to be girldads in Something like this

If you wanna follow me on twt it's here: MicaronAtSea or my main acc but that’s mainly about My hero academia: micaron