Actions

Work Header

Reunions in the Dark

Summary:

Before Kuma, Sanji would bite his lips bloody to stay quiet and walk away the moment things got close between him and Zoro. Two years apart changed something. Now he’s looking Zoro in the eye. Now he’s saying what he wants. Now he’s staying.

Zoro doesn't know what to do with that, but he's not complaining.

Chapter 1: Reunion

Chapter Text

The bunkroom was empty, the rest of the crew scattered across the ship as they descended toward Fishman Island. Zoro heard the door click shut behind Sanji and didn’t waste time, not when they had maybe fifteen minutes before someone came looking.

“Moss—” Sanji started, but the word dissolved into a gasp as Zoro crowded him against the wall.

For a moment, Zoro just looked at him. Two years. Two years of wondering if Sanji was safe, if he was eating enough, if he was thinking about Zoro the way Zoro thought about him every goddamn day. Now he was here, real and solid and here.

“Missed you,” he admitted roughly and then he was kissing him.

The first touch of Sanji’s lips after two years hit him like a physical blow. He’d forgotten how perfectly they fit together, forgotten the taste of him, the way Sanji made this small sound in the back of his throat when Zoro deepened the kiss.

Or maybe he hadn’t forgotten. Maybe he’d just tried not to remember because it hurt too much.

Sanji’s hands came up to grip Zoro’s shirt, pulling him closer. Zoro felt something in his chest crack open. This was real. Sanji was kissing him back like he needed it, like he’d been starving for it the same way Zoro had.

“Missed you so much,” Sanji breathed against his mouth and kissed him again, harder this time. No deflection, no armor. Just want, raw and honest.

Zoro cupped Sanji’s face, thumbs stroking along his cheekbones as he kissed him slower, deeper, trying to pour two years of longing into it. Sanji’s visible eye was closed, his expression open in a way it never used to be.

“Two years. Two fucking years,” Zoro murmured against his lips, kissing him again between words.

“I know. God, I know,” Sanji said, his voice breaking slightly. He pulled Zoro into another kiss, this one desperate and urgent.

The kissing turned heated, frantic. Zoro spun Sanji to face the wall, pressing against his back, still kissing his neck, his shoulder, anywhere he could reach. His hands found Sanji’s, pinning them flat against the rough wood.

“Need you,” Zoro growled against his ear, already working his belt open with one hand while keeping Sanji’s hands trapped.

“Yes,” Sanji breathed, his voice raw with want. His shirt had already slipped off one shoulder in their urgency, the fabric bunched and disheveled.

“Missed you. God, I missed you so much.”

The honesty in those words made something fierce surge through Zoro’s chest. No “this doesn’t mean anything”, no blustering and denial. Just Sanji, wanting him, admitting it, saying it.

Zoro got Sanji’s pants open, pushing them down just enough.

“Bend forward, hands on the wall,” he ordered, voice rough.

Sanji obeyed without hesitation, bracing himself. The trust in that simple action made Zoro’s throat tighten. He dropped to his knees behind Sanji, spreading him open with his thumbs.

“Zoro—” Sanji started, but it dissolved into a gasp as Zoro’s tongue found him, wet and deliberate.

Zoro used his mouth to open Sanji up, alternating between broad strokes and focused pressure. Sanji’s legs were trembling, his breathing ragged. When Zoro pressed his tongue inside, Sanji made a broken sound that went straight to Zoro’s cock.

“Fuck, Zoro, fuck—”

Sanji’s forehead dropped against the wall, his hands flexing.

“Two years and you still... fuck... so fucking good—”

Zoro pulled back, spitting to add more wetness, then dove back in with single-minded focus. He could feel Sanji starting to relax, opening up for him. The taste of him, the sounds he was making, it was everything Zoro had been starving for.

“Wait, hold on,” Zoro said roughly, pulling away.

He stood, moving quickly to his locker. His hands were shaking slightly as he rummaged through it, finding the small bottle of lube they’d stashed there before the separation. It was still there, waiting.

When he returned, Sanji was looking over his shoulder, eye dark with want, chest heaving. His lips were swollen from kissing and from biting them, his cheeks flushed red and his eyes hooded with pleasure. It made Zoro’s gut tingle with desire.

He pressed one inside slowly, watching Sanji’s face.

“Tell me if it’s too much.”

“It’s not enough,” Sanji gasped, pushing back against him.

“More. Please, Zoro, more—”

Zoro added a second finger, working him open with careful precision. Sanji was falling apart against the wall, vocal in a way he never used to be: saying Zoro’s name, saying ‘yes’ and ‘there’ when Zoro found that spot inside him.

The difference hit Zoro like a physical thing. Two years ago, Sanji would bite his lips bloody trying to stay quiet, would turn his face away, would squeeze his eyes shut like he couldn’t bear to be seen like this. There’d been shame in every line of his body, guilt in his eyes whenever they’d finish. It was like he’d done something wrong just by wanting Zoro, by letting himself feel good.

Now Sanji was pushing back against Zoro’s fingers, saying his name without hesitation, without fear. His eye was open, looking back over his shoulder at Zoro with nothing but want and trust and desperate need. No shame. No guilt. Just Sanji, finally letting himself have this.

“Zoro, fuck, right there—”

The sound of his own name said like that, loud and unrestrained, made Zoro’s gut tingle with need. Before, he’d had to coax every sound out of Sanji, had to work for every gasp and moan. Even then Sanji would catch himself, would clamp down on his own pleasure like it was something to be ashamed of.

Whatever had happened in those two years, whoever Sanji had become, it had freed something in him. Something that had been locked away under layers of shame and self-hatred.

“You’re so good like this,” Zoro murmured, adding a third finger and feeling Sanji clench around him.

“You’re so perfect. Missed watching you come undone.”

“Then stop teasing. Need you inside me. Zoro, please,” Sanji panted, his voice breaking on the last word.

Sanji was saying please, was begging openly, was meeting Zoro’s eyes while he did it. The old Sanji would have turned away, would have hidden his face, would have made Zoro guess at what he wanted because asking for it directly was too much, too vulnerable, too honest about his desires.

Zoro crooked his fingers just right and Sanji cried out, loud enough that anyone passing by would hear. He didn’t seem to care. That was new too.

“Almost,” Zoro promised, stretching him thoroughly, making sure he was ready, unable to look away from the sight of Sanji like this: open and wanting and unafraid.

“Now,” he demanded, looking back at him with desperate eyes that held no trace of the guilt that used to haunt them.

“I’m ready. I need you now.”

Whatever had changed in Sanji during their separation, Zoro was grateful for it. This honesty was what Sanji deserved. What they both deserved.

Zoro withdrew his fingers and got their pants open just enough, though they were still mostly clothed in their desperation. He slicked himself up, his hand trembling slightly as he lined up. The head of his cock pressed against Sanji’s entrance. For a moment Zoro just breathed, overwhelmed by the reality of this.

Two years. Two years of wondering if he’d ever get to touch Sanji like this again.

Then he pressed inside slowly. The world narrowed to just this: the tight heat of Sanji’s body opening for him, the way Sanji’s breath hitched and broke into a shuddering moan.

“Zoro,” he gasped, his voice already wrecked.

The sound of his name like that made Zoro’s hips stutter forward, sinking deeper. Sanji was so tight, so perfect and the sensation of being inside him again after so long was almost too much. Zoro had to pause, had to breathe through the overwhelming rush of it. The physical pleasure mixed with something deeper.

“Don’t stop. Please don’t stop, I need you,” Sanji begged, pushing back against him.

“I’ve got you,” Zoro promised, his voice rough.

He pulled back and thrust in harder this time. Sanji cried out, the sound echoed in the small bunkroom, shameless and desperate.

Zoro set a rhythm that was hard and urgent, born of two years of separation and longing. Each thrust pressed Sanji harder against the wall, the rough wood scraping against his cheek and chest. Sanji’s hands were pinned flat under Zoro’s, completely trapped. He was letting out broken gasps and moans that went straight through Zoro.

“Missed this. Missed you so much. Every fucking day. Thought about you every day,” Sanji panted between thrusts.

The confession made something warm surge in Zoro’s chest. He fucked into Sanji harder, deeper, angling his hips to hit that spot inside that made Sanji shake.

“Yeah? Tell me.”

“Thought about your hands on me. Your cock inside me. How good you make me feel. How, fuck, how perfect you are to me.”

Zoro groaned, the words fueling him, making him move faster. The smell of Sanji surrounded him: sweat and cigarettes and that underlying scent that was just Sanji, familiar and intoxicating. The sound of skin against skin filled the room, obscene and perfect, punctuated by Sanji’s increasingly desperate noises.

“You feel so good. So good inside me. Missed being full of you. Missed how you, ah, how you take me apart,” Sanji continued, the words tumbling out like he couldn’t stop them.

“Fuck, Sanji.”

Zoro’s control was fraying. He shifted his angle slightly, driving in deeper. Sanji’s whole body jerked against the wall.

“There! Right there, please!”

Sanji was trembling now, his shirt slipping further down his shoulder, exposing more skin. Zoro kissed the bare shoulder, tasting salt and heat, then moved to Sanji’s neck, biting down gently.

“Wanted you so badly. I wanted this, wanted you. Only you, Zoro,” Sanji confessed, his voice honest.

The words broke something loose in Zoro. He released one of Sanji’s hands to grip his hip instead, holding him in place as he fucked into him harder, faster, chasing that edge. Sanji immediately braced his freed hand against the wall, using the leverage to push back and meet every thrust.

“That’s it. Take it. Show me how much you missed it,” Zoro growled against Sanji’s ear.

“Missed you so much it hurt. Thought about you touching me, fucking me. God, you’re so perfect, Zoro. So good to me.”

Each confession made Zoro thrust harder, made him want to mark Sanji, claim him, make up for every day they’d been apart. The wall creaked with the force of their movement. Sanji was pressed so tightly against it, pinned there by Zoro’s body and weight.

“You’re mine. Say it,” Zoro said, the words coming out possessive and fierce.

“Yours. Always yours. Only yours. Fuck, Zoro, I’m close.”

Zoro could feel it in the way Sanji was tightening around him, trembling, his sounds getting higher and more desperate. He shifted the angle just slightly, hitting that spot inside with every thrust, and Sanji cried out, loud and unrestrained, present in a way he never used to be.

“Come on. Let me hear it. Want everyone to know who’s making you feel this good,” Zoro urged, his own control slipping.

“You. Always you. God, Zoro, you make me feel so... I can’t... please—” Sanji gasped.

The desperation in Sanji’s voice, the way he was clenching around Zoro’s cock, the smell and heat and sound of him. It was everything. He released one of Sanji’s hands and reached around, gripping his dripping cock and stroking it in time with his thrusts.

“Come for me. Want to feel you,” Zoro commanded.

Sanji’s freed hand scrabbled against the wall, finding no purchase, and his whole body went taut.

Sanji came with a broken sound, clenching around him and Zoro followed seconds later with Sanji’s name on his lips.

For a moment they just breathed, both of them shaking. Sanji turned his head, catching Zoro’s mouth in a kiss that was softer than anything that came before.

“Not done with you yet. We’ve got a little more time,” Sanji murmured against his lips. There was heat still in his voice.

Zoro pulled out, letting Sanji turn around. The cook’s eye was dark with desire, his shirt hanging off one shoulder. He dropped to his knees without hesitation. No shame, no second-guessing.

“Cook—” Zoro started, but the word cut off as Sanji took him in his mouth.

Zoro had just come, was still oversensitive and spent, but the sight of Sanji on his knees, the feeling of his mouth, hot and eager, sent a jolt through him. Sanji didn’t ease into it. He took Zoro deep immediately, his throat opening around him. The wet heat was overwhelming.

“Fuck,” Zoro breathed, his hand finding Sanji’s hair automatically. He was still soft, but Sanji’s mouth was working magic, his tongue sliding along the underside, his throat contracting as he swallowed around him.

What made Zoro’s breath catch was that Sanji was looking at him.

Two years ago, Sanji would close his eyes during this. He would turn his face away if Zoro tried to watch, would squeeze his eyes shut like he couldn’t bear to be seen doing this. Like it was shameful. Like wanting Zoro this way was something to hide from.

Now, Sanji’s eye was open and locked on Zoro’s face. He was watching every reaction, every hitch of breath, every time Zoro’s expression shifted with pleasure. There was no shame in that gaze, only want and determination and something that looked almost like pride.

Sanji pulled back slightly, just enough to work his tongue around the head and then sank down again, taking Zoro deeper. The wet sounds filled the quiet bunkroom, obscene and perfect. Sanji’s hands gripped Zoro’s hips, holding him steady. He never looked away, not once.

Zoro felt himself starting to harden again, impossibly, his body responding to the intensity of Sanji’s attention. To the sight of him like this on his knees, mouth stretched around Zoro’s cock, throat working as he took him deeper and deeper, all while maintaining that devastating eye contact.

“Sanji, you’re... fuck...” Zoro managed, his voice rough. His hand tightened in Sanji’s hair, not pulling, just holding.

Sanji hummed around him, the vibration making Zoro’s hips jerk forward involuntarily. Sanji took it, relaxed his throat and let Zoro slide deeper, his eye never wavering. He was watching Zoro fall apart, watching him get hard again. There was something almost hungry in his gaze. He wanted this. He was proud of what he could do to Zoro.

The realization hit Zoro hard: Sanji wasn’t just doing this. He was choosing it. There was no reluctance, no shame, no looking away. Just Sanji, on his knees, taking Zoro’s cock down his throat and watching Zoro’s face while he did it. It was the most intimate thing Zoro had ever experienced.

He couldn’t look away either, couldn’t stop watching Sanji’s lips stretched around him, the way his throat worked with each swallow, the absolute lack of hesitation or shame in his expression.

“Fuck, you’re so perfect,” Zoro breathed.

Sanji’s eye darkened at the praise and he doubled his efforts. He pulled back until just the head remained in his mouth, sucked hard enough to make Zoro see stars, then sank down again in one smooth motion. All the way down. His nose pressed against Zoro’s pelvis, his throat tight and hot around Zoro’s cock. He held there for a long moment, just looking up at Zoro, letting him see, letting him watch.

Zoro was fully hard now, aching with it. The fact that he’d just come minutes ago didn’t matter. Sanji’s mouth, his throat, his eyes: it was too much. The openness, the complete lack of walls, the way Sanji was giving himself over to this without reservation, it was breaking something open in Zoro.

He was falling for Sanji. He’d been falling for him for years, but this honesty, this freedom, this version of Sanji who could look him in the eye while deepthroating him was making Zoro fall even harder. He wanted things he’d never let himself hope for before.

Sanji pulled off with a wet, obscene sound, breathing hard. His lips were red and swollen, slick with spit, and he was still looking at Zoro. Still watching him with that intense, unguarded expression.

“Want you again, want to see you this time,” Sanji said, his voice wrecked and rough.

The words went straight through Zoro. He hauled Sanji up and kissed him hard, tasting himself on Sanji’s tongue, pouring everything he couldn’t say into the kiss. Sanji kissed back just as fiercely, his hands clutching at Zoro’s shoulders.

They stumbled toward the lockers, Sanji’s back hitting the metal with a clang that was probably too loud, but neither of them cared. Zoro was achingly hard now, his cock pressing against Sanji’s hip. Sanji made a satisfied sound against his mouth.

“You got me hard again, just from watching you,” Zoro said, almost accusing.

“Good, want you hard for me. Want you to fuck me again,” Sanji said, and there was heat and satisfaction in his voice.

He pulled back just enough to work one leg out of his pants, his body bending at an angle that shouldn’t have been possible as he balanced on one foot and stripped the fabric away. The flexibility was stunning, the way his spine curved, the way his leg lifted and extended. Zoro had seen Sanji fight, had seen him kick at impossible angles, but this was different. This was that same flexibility turned intimate.

“Come here,” Zoro said roughly, and Sanji immediately arched back, lifting both legs. His body bent like he was made of water, thighs spreading as he hooked his legs over Zoro’s shoulders.

Zoro lifted him easily, pressing him back against the lockers with enough force to make the metal clang. Sanji’s hands shot up, gripping the top of the lockers to brace himself, his arms extended and muscles flexing as he held on.

“Look at me,” Zoro demanded as he lined himself up.

Sanji did, eye wide and wanting and completely unguarded.

Zoro pushed inside. Sanji was still slick from before, still open, still ready. The slide was perfect. Sanji gasped, his grip tightening on the lockers.

“I’m here. I’m here, I’m not running,” Sanji breathed as Zoro started to move.

Zoro kissed him hard, swallowing Sanji’s moans as he fucked him harder. The angle was perfect, Sanji’s flexibility letting Zoro go deep and Sanji’s hands on the lockers gave him the leverage to push back into each thrust.

They broke apart, both breathing hard. He couldn’t look away from Sanji’s face. His expression was open in a way it never used to be, pleasure and emotion written clearly across his features. No walls, no distance. Zoro could see everything: the desire, the vulnerability, the trust and something else. Something that looked like it might be love, though Zoro didn’t want to push, didn’t want to ask for more than Sanji was ready to give. Having him like this was beyond Zoro’s wildest dreams already.

“Zoro,” Sanji gasped.

Zoro kissed him again, slower this time, pouring everything he felt into it. Sanji kissed back just as intensely, his mouth opening under Zoro’s. They stayed like that for several thrusts, kissing and fucking and holding eye contact whenever their lips parted. Zoro shifted his angle slightly and Sanji cried out, his back arching against the lockers.

“Right there,” Sanji choked out.

Zoro did it again, hitting that spot inside him that made Sanji’s whole body shudder.

That’s when Zoro noticed the blood. A thin trickle of red running from Sanji’s nose, stark against his flushed skin.

“Shit. Sanji, you’re—,” Zoro started to slow, concern cutting through the haze of pleasure.

“Don’t stop. Don’t you dare stop,” Sanji said immediately, his grip on the lockers tightening.

“But you’re bleeding.”

Sanji flushed even darker and he actually looked embarrassed.

“It’s just— it’s because you’re so fucking sexy and you’re making me feel so good. It’s fine. It’s— god, it’s embarrassing, but it’s fine.”

Zoro stared at him for a moment, processing that. Then something warm and possessive flooded through him.

“You’re getting a nosebleed because I’m fucking you?”

“Yes, now shut up and keep going.”

Zoro kissed him again, tasting the copper tang of blood mixed with everything else. He resumed his pace, harder now, deeper. Sanji was making these desperate sounds against his mouth, his whole body trembling.

“Touch yourself,” Zoro said against Sanji’s lips.

“Can’t. Holding on—” Sanji gasped, his knuckles white where he gripped the lockers.

“Then come without it,” Zoro replied.

“I can’t— I’ve never—”

“You can.”

He adjusted his angle again, hitting that spot inside Sanji with every thrust. The cook’s eye went wide, his mouth falling open in shock.

“Wait— Wait, I’m— I can’t be—” Sanji gasped, his body tensing.

“Come on, Sanji. Let me see you.”

They were kissing again, messy and desperate. Zoro could feel Sanji getting close, could feel the way his body was tightening, the way his breathing was changing. Sanji broke the kiss, his head falling back against the lockers, and his eye found Zoro’s again, wide with disbelief.

“Zoro, I’m actually— oh god, I’m going to—” Sanji’s voice was filled with amazement, like he couldn’t believe it was happening.

“Zoro. You feel so good, so deep. God, you’re perfect. So good to me.”

The praise hit Zoro like a physical thing, sending heat flooding through him. Hearing Sanji say it, hearing that wonder and pleasure in his voice, made something possessive flare inside him.

“Yeah?” Zoro managed, his voice rough.

“So good. You’re making me— I’ve never— fuck, Zoro!”

Sanji came first, untouched, his cock pulsing between them and his whole body going rigid with shock and pleasure. The feeling of Sanji clenching tight around him, rhythmic pulses of heat and pressure around his cock, nearly undid Zoro immediately. Sanji’s body was gripping him so tight, squeezing in waves as he came. It was overwhelming. Zoro gritted his teeth, trying to hold on, trying to make it last, but the sensation was too much. The way Sanji was pulsing around him, the heat, the impossible tightness.

The feeling of Sanji clenching and releasing around him in aftershocks pushed Zoro over the edge.

He came with a groan, burying his face in Sanji’s neck, filling him for a second time.

For a long moment they just stayed like that, Zoro holding him up against the lockers, both of them shaking and breathing hard. Carefully, Zoro pulled out and lowered Sanji back to the floor. His legs were unsteady and Zoro kept an arm around him as they caught their breath.

Sanji’s hand came up to cup Zoro’s face, thumb brushing along his cheekbone. Then he was kissing him, soft and slow, nothing like the desperate kisses from before. This was tender, almost reverent. Zoro felt something in his chest tighten at the gentleness of it. Sanji’s lips moved against his with careful attention, like he was trying to say something he didn’t have words for yet.

When they broke apart, Sanji rested his forehead against Zoro’s, their breath mingling in the small space between them. His eye was still open, still meeting Zoro’s gaze without flinching.

“Hey,” Sanji said softly, his hand finding Zoro’s. Their fingers intertwined.

“Hey,” Zoro replied, pressing another kiss to Sanji’s lips.

“I know we don’t have long, but... I need you to know something. Those two years? I spent them thinking about you, about us, about all the shit I was carrying around.”

Zoro stayed quiet, letting him talk.

“I had time to sort through it all. The shame, the fear, all the garbage in my head about what I’m supposed to be. I figured out what I want. Not just the sex, though obviously I want that. But I want you. For real. All of it.”

“Cook—”

“I’m not running anymore. This isn’t me being scared and taking what I can get before I bolt. This is me choosing you, choosing us. I know what I feel now and I’m not going to pretend I don’t.”

Zoro’s heart felt like it was expanding behind his ribs. He squeezed Sanji’s hand, opened his mouth to respond.

“—seen Zoro? He said he was going to the locker room.”

Nami’s voice echoed down the hallway above them, followed by Usopp’s reply.

“Maybe he’s with Sanji? Has anyone seen Sanji?”

They both froze.

“Shit,” Sanji breathed.

They immediately separated, hands fumbling to fix their clothes properly. Zoro tied his robe while Sanji tried to smooth down his hair, both of them moving with practiced efficiency born from months of sneaking around.

“Do I look—” Sanji started.

“You look fucked, but you always look like this after a fight. They won’t know the difference.”

Sanji let out a shaky breath, then nodded. He started toward the door, then stopped and turned back. For a moment he just looked at Zoro, really looked at him, his eye soft and open and full of something that made Zoro’s heart kick hard against his ribs.

“I meant it. All of it.”

Then he caught Zoro’s face in his hands and kissed him once more, slow and deliberate, like he was sealing a promise. When he pulled back, there was a small smile on his lips.

“See you up top. Try not to look so satisfied with yourself.”

“That’s going to be difficult,” Zoro replied.

Sanji’s smile widened, genuine and unguarded, before he slipped out the door. Zoro waited, counting to sixty in his head, letting his heartbeat settle. When he finally emerged into the hallway, he could still feel the ghost of Sanji’s hands on his face, the weight of his words settling warm and solid in his chest.

I’m choosing you.

Yeah. They were really doing this.