Actions

Work Header

Rating:
Archive Warning:
Category:
Fandom:
Relationship:
Characters:
Additional Tags:
Language:
English
Stats:
Published:
2026-02-10
Words:
2,786
Chapters:
1/1
Comments:
4
Kudos:
37
Bookmarks:
2
Hits:
669

Need a hand?

Summary:

Adrien was frustrated that Marinette was too shy to go further than kissing. Luckily his best friend Nino was kind enough to give him a helping hand... literally.

Work Text:

"Fuck, dude, you look miserable," Nino said, tossing a crumpled soda can at Adrien's head.

Adrien caught it without looking, his fingers denting the aluminum with a soft crunch. He slumped further into the couch cushions, legs spread wide, the fabric of his designer jeans pulling tight over his thighs. "I am miserable," he muttered.

The can rolled across the floor, stopping against Nino's sneaker. He nudged it aside with his toe before straddling the armrest beside Adrien, one eyebrow arched. "Let me guess—Marinette again?"

Adrien groaned, pressing the heels of his palms against his eyes. "I tried everything. Candles, compliments, even letting her pick the movie. She just—" His voice cracked, the frustration boiling over as he gestured vaguely toward his lap. "She won't even touch me."

Nino exhaled through his nose before glancing down. The thick outline straining against Adrien's zipper was hard to miss, even in the dim light. "Damn," he muttered, rubbing his jaw. "That’s… rough."

A beat passed. Then, with sudden clarity, Nino shifted closer, his knee pressing against Adrien’s thigh. "Look," he said, voice dropping low, "I get it. You need relief." His fingers flexed once, hesitating, before settling on the curve of Adrien’s shoulder. "And I’m not gonna let my best friend suffer."

Adrien stiffened, pulse hammering against his ribs as Nino’s palm slid down his chest coming to rest just above his belt buckle. The touch burned through the fabric, hotter than it had any right to be.

"Wait," Adrien breathed, but his hips jerked upward on their own, chasing the pressure. Nino smirked.

"Yeah," he murmured, fingers dipping lower. "That’s what I thought."

Nino swung his leg over Adrien’s lap in one smooth motion, the weight of him settling warm and solid against Adrien’s thighs. The couch groaned beneath them, the leather creaking as Nino leaned in, his hands braced on either side of Adrien’s head. Their faces were suddenly too close. He could see the flecks of gold in Nino’s brown eyes, the way his pupils dilated just slightly as his gaze dropped to Adrien’s mouth.

“You’re thinking too much,” Nino murmured, rocking forward just enough to make Adrien’s breath hitch. Nino chuckled, low and knowing. “Yeah, that’s it. Just let me—” His hands slid down, fingers hooking into Adrien’s belt loops to yank him closer.

Adrien’s back arched, a strangled noise tearing from his throat as Nino ground down against him, the thick ridge of his own arousal pressing hot and insistent through his jeans. The layers of denim between them did nothing to dull the sensation, only amplified it, the rough drag sending sparks up Adrien’s spine. He fumbled for purchase, one hand clutching at Nino’s hip, the other tangling in the fabric of his shirt.

“Nino—” Adrien’s voice cracked, the words dissolving into a groan as Nino rolled his hips again, slower this time, savoring the way Adrien’s body shuddered beneath him. The heat between them was unbearable, Adrien’s cock straining against his zipper, the pressure bordering on painful. He could feel Nino’s heartbeat where their chests brushed, rapid and unsteady, betraying the calm facade.

Nino’s mouth brushed the shell of Adrien’s ear, his breath hot as he whispered, “You gonna come just like this? Grinding on me like some desperate kid?” The taunt was undercut by the way his own voice trembled, the way his fingers trembled as they slipped beneath Adrien’s shirt, skimming up the plane of his stomach.

Adrien’s head fell back, his throat bared as he gasped, “Shut up—just—” His plea was cut off as Nino’s hand finally, finally, cupped him through his jeans, palming the length of him with a rough, impatient stroke. The fabric was too tight, the seam rubbing almost cruelly, but Adrien couldn’t bring himself to care, not when Nino’s thumb was pressing just right over the head, not when his other hand was tugging Adrien’s hair, tilting his face up to meet his gaze.

“Look at you,” Nino breathed, his own hips stuttering as he worked Adrien over, the rhythm uneven, frantic. “All wound up ‘cause your girl won’t touch you.” He leaned in, his lips brushing Adrien’s jaw. “Lucky for you, I don’t give a shit about playing nice.”

Adrien’s vision blurred at the edges, his whole body tensing as Nino’s fingers popped the button of his jeans, the sound obscenely loud in the quiet room. The relief was instantaneous, the cool air hitting his overheated skin as Nino tugged his zipper down, one hand slipping inside.

Adrien’s breath hitched as Nino’s fingers curled around him through the thin fabric of his briefs, the pressure just shy of painful. He could feel the dampness where his cock had leaked, the heat radiating through the cotton as Nino squeezed experimentally, his thumb rubbing slow circles over the head. “Fuck,” Adrien choked out, his hips jerking upward, seeking more friction, more everything. Nino’s chuckle was dark, his breath hot against Adrien’s neck as he nipped at the skin there, leaving behind a mark that would sting tomorrow.

“Easy,” Nino murmured, but his own breathing was ragged, his movements anything but controlled. He hooked his fingers into the waistband of Adrien’s briefs, dragging them down just enough to free him, the cool air a shock against his overheated skin. Adrien barely had time to register the sensation before Nino’s hand wrapped around him properly, his grip firm and sure. The first stroke was brutal in its efficiency, dragging from root to tip with barely any give, and Adrien’s vision whited out for a second, his back arching off the couch.

Nino didn’t let up, his pace relentless, his palm slick with precum as he worked Adrien over with a precision that bordered on cruel. He kept his other hand tangled in Adrien’s hair, anchoring him in place as he leaned in, his lips brushing the shell of Adrien’s ear. “You’re gonna come for me,” he murmured, his voice rough with something Adrien couldn’t name. “Just like this. No sweet talk, no fucking around. Just my hand on your dick.”

Adrien’s moan was loud, unfiltered, his fingers scrabbling at Nino’s hips as he tried—and failed—to steady himself. Every stroke sent jolts of electricity up his spine, his thighs trembling with the effort of holding himself together. He could feel Nino’s own arousal pressing insistently against his thigh, but Nino seemed determined to focus solely on Adrien, his movements calculated to wring every ounce of pleasure from him.

The coil in Adrien’s gut tightened unbearably, his breath coming in short, sharp gasps as Nino twisted his wrist just right on the upstroke, his thumb pressing hard against the slit. “Nino—I’m gonna—” The warning was barely out of his mouth before Nino cut him off with a sharp tug to his hair, forcing his head back against the couch.

“Yeah,” Nino growled, his grip tightening. “Come on.”

The command was all it took. Adrien’s orgasm ripped through him with brutal intensity, his body seizing as he spilled over Nino’s fingers, his moan muffled against Nino’s shoulder. Nino worked him through it, his strokes slowing but never stopping, drawing out every last pulse until Adrien was shuddering with oversensitivity, his hands weakly pushing at Nino’s wrist.

Nino finally relented, pulling back just enough to survey his handiwork, his lips quirking into a satisfied smirk. Adrien was a wreck beneath him—hair mussed, lips swollen, his chest heaving as he tried to catch his breath. Nino wiped his hand carelessly on Adrien’s discarded shirt before leaning in again, his voice dropping to a whisper. “Better?”

Adrien's eyelids fluttered, his body still thrumming with aftershocks as he tried to process what had just happened. His breath hitched when Nino's fingers traced idle patterns across his bare stomach, the touch feather-light but electrifying against his oversensitive skin. "I—" he started, then swallowed hard, his throat dry. "That was..."

"Necessary," Nino finished for him, his smirk softening into something almost fond as he wiped the last traces of Adrien's release on his own jeans with a careless shrug. "You were about to combust, man." He shifted back slightly, but didn't move off Adrien's lap, his weight still warm and grounding.

Adrien's pulse stuttered at the realization that Nino was still hard—had been the entire time—pressing insistently against his thigh. The evidence of Nino's own arousal sent a fresh jolt of heat through him, his spent body responding despite itself. "You didn't..." he murmured, his fingers twitching toward Nino's hips before hesitating.

Nino caught the movement, his gaze darkening as he leaned in, his nose brushing Adrien's. "Didn't what?" he teased, his voice a low rumble that vibrated through Adrien's chest. "Get mine?" He rocked forward deliberately, the friction drawing a sharp gasp from both of them. "Don't worry about me." His lips curled into a lazy grin. "I got what I wanted."

Adrien's brow furrowed, his mind still sluggish. "Which was...?"

Nino's laugh was rough, his breath hot against Adrien's lips. "Seeing you fall apart." His fingers trailed down Adrien's chest. "And knowing I was the one who did it." The possessiveness in his tone sent a shiver down Adrien's spine, his cock twitching weakly in response.

Adrien could feel the heat radiating off him, the way Nino’s body trembled with restraint. It was intoxicating, seeing him like this—composed Nino, always so laid-back, unraveling above him. Without thinking, Adrien slid his hands down Nino’s back, gripping the curve of his ass and pulling him closer, grinding up against him in one fluid motion. The sound Nino made was raw, unfiltered, his nails biting into Adrien’s skin through the thin fabric of his shirt.

“You’re such a fucking tease,” Nino growled, his voice ragged at the edges. He caught Adrien’s lower lip between his teeth, biting down just hard enough to sting before soothing it with his tongue. The kiss was messy, desperate, all teeth and clashing angles, but Adrien couldn’t get enough—couldn’t stop the way his body arched into it, his blood singing under his skin.

Nino broke away first, panting, his lips slick and swollen. His fingers fumbled with his own belt, the metal clinking loudly in the quiet room before he shoved his jeans down just enough to free himself. Adrien’s mouth went dry at the sight—the thick length of him, flushed and leaking, curving up toward his stomach. Nino didn’t give him time to look, though, catching his wrist and guiding his hand down, pressing Adrien’s palm flat against the heat of him.

Adrien’s fingers closed around Nino instinctively, the weight of him heavy and solid in his grip. Nino exhaled sharply through his nose, his hips jerking forward into the touch, his forehead dropping against Adrien’s shoulder. “Fuck,” he muttered, his voice strained. “Your hands—shit—” The words dissolved into a groan as Adrien tightened his grip experimentally, his thumb swiping over the head, smearing precum down the length of him.

Nino’s breathing was ragged, his fingers digging into Adrien’s shoulders hard enough to bruise as he ground against him, chasing the friction. “Like that,” he urged, his voice rough. “Just—fuck—” His hips stuttered when Adrien twisted his wrist on the upstroke, mimicking the way Nino had touched him earlier. The reciprocity sent a thrill through Adrien—the power in his hands, the way Nino shuddered above him, his usual composure shattered.

Nino’s mouth found Adrien’s again, the kiss sloppy and uncoordinated, their teeth clacking together as Nino panted against his lips. He didn’t seem to care, his tongue pushing into Adrien’s mouth greedily, swallowing every noise Adrien made as his hand worked him over. The rhythm was uneven, unpracticed, but Nino didn’t seem to mind, his hips moving in time with Adrien’s strokes, his breath hot and erratic against Adrien’s skin.

Adrien could feel the moment Nino teetered on the edge—the way his muscles locked, his fingers twisting in Adrien’s hair almost painfully. “Close,” Nino gasped, his voice wrecked. “So fucking close—” His hips jerked erratically, his cock pulsing in Adrien’s grip as he chased his release. Adrien watched, mesmerized, as Nino’s face twisted with pleasure, his lips parting around a silent moan.

Then, with a sharp inhale, Nino came, his release spilling hot over Adrien’s fingers, his body shuddering violently. Adrien didn’t stop, working him through it until Nino was swatting weakly at his wrist, oversensitive and spent. Nino slumped forward, his forehead resting against Adrien’s collarbone, his breath uneven as he tried to steady himself.

Adrien’s fingers were still sticky, his mind buzzing with the reality of what had just happened—what they had just done. Nino was the first to break the silence, his voice hoarse but amused. “Well,” he muttered, lips brushing Adrien’s skin. “That was... something.”

Adrien huffed a laugh, his chest vibrating beneath Nino’s weight. “Understatement of the year,” he murmured, his fingers flexing absently against Nino’s hip. He should have felt awkward, maybe—should have been scrambling for excuses or explanations—but the weight of Nino against him was too familiar, too right, to ruin with overthinking.

Nino lifted his head finally, his eyes dark and satisfied as he studied Adrien’s face. His thumb brushed over Adrien’s lower lip, smearing a trace of spit there before he leaned in, pressing a lazy, chaste kiss to the corner of Adrien’s mouth. “You good?” he asked, his voice softer now, less teasing.

Adrien blinked up at him, his pulse stuttering at the tenderness in Nino’s gaze. “Yeah,” he breathed, his fingers tracing idle circles on Nino’s back. “Better than good.”

Nino grinned, the expression slow and knowing, before pushing himself upright with a groan. He tugged his jeans back into place with a wince, the fabric probably uncomfortably sticky now, but he didn’t seem to care. “Good,” he said, stretching his arms above his head with a satisfied sigh. “Because I’m not doing your laundry.”

Adrien laughed, the sound startled out of him, and Nino’s grin widened at the reaction. He reached down, hauling Adrien to his feet with one strong pull, their bodies colliding briefly before Nino stepped back, hands in his pockets. The casualness of it—the way Nino could flip from intense to easygoing in seconds—was something Adrien had always admired about him. Now, it sent warmth curling through his chest.

“So,” Nino said, tilting his head toward the door. “You wanna pretend this never happened, or...?”

Adrien's pulse stuttered at the question, his fingers twitching against the couch cushions. He could still feel the ghost of Nino's hands on him—rough, demanding—and the thought of pretending it never happened twisted something low in his gut. "Do you want to pretend?" he asked, the words coming out hoarser than he intended.

Nino studied him for a long moment, his usual easygoing mask slipping just enough for Adrien to catch the flicker of uncertainty beneath. Then, with a slow exhale, he shrugged one shoulder. "Nah," he admitted, rubbing the back of his neck. "That'd be kinda bullshit, right?"

The tension in Adrien's chest eased just slightly. He reached out, catching Nino's wrist before he could retreat further. "Then let's not." His thumb traced the delicate bones of Nino's inner wrist, feeling the rapid flutter of his pulse.

Nino's breath hitched, his gaze dropping to where Adrien's fingers curled around him. "You sure?" he murmured, but he wasn't pulling away.

Adrien didn't answer with words. Instead, he tugged Nino back down onto the couch, their knees knocking together as he crowded into his space. This time, he didn't hesitate—he kissed Nino hard, pouring every ounce of his lingering frustration and newfound hunger into it. Nino groaned into his mouth, his hands immediately finding Adrien's waist, dragging him closer until there wasn't an inch of space between them.

Nino’s fingers dug into Adrien’s hips hard enough to leave marks, his tongue pushing deeper into Adrien’s mouth like he was trying to memorize the taste of him. The couch groaned beneath them as Adrien shifted, straddling Nino’s thighs fully now, the heat between them unbearable even through layers of denim. Adrien could feel Nino’s cock twitch against his own, still half hard from before, and the realization sent a fresh wave of heat pooling low in his stomach.

“Fuck,” Nino gasped when Adrien ground down against him, his head thudding back against the couch cushions. His hands slid up Adrien’s shirt, blunt nails scraping over his ribs. “You’re gonna kill me.”

Adrien grinned, drunk on the power of seeing Nino unravel like this. He nipped at Nino’s lower lip, relishing the way his breath stuttered. “You started it,” he murmured, rolling his hips again just to watch Nino’s eyelids flutter.