It starts with a touch.
Lance’s hand on his waist feels like fire and Keith’s breath hitches as it starts to roam all over his body, up to his chest and down to his legs. The movements are languid and Lance takes his time exploring every inch of Keith over his clothing, fingers rubbing in all the right places. It makes Keith let out a quiet groan because Lance is going so slow.
“Feeling a little frustrated?” Lance chuckles, hand sliding down between his legs. He runs a few fingers lightly over the fabric before applying more pressure and palming at the obvious tent in his pants.
Keith scoffs and rolls his eyes, but doesn’t trust himself to say anything. There’s no denying his arousal anyway, and they fall onto the bed together, Lance pushing him down on the mattress as he climbs on top of him. Keith feels a hand tangled in his hair, the press of kisses at the corners of his mouth, trailing a path to his neck and collarbones.
“Lance…” he breathes out. Everything is intense and makes his head spin, almost enough to overwhelm all his other senses, and it makes him want to chase the high. Want more.
“Just relax,” Lance murmurs into his skin. His mouth and hands both feel hot and Keith can’t tell if that’s caused by his body being sensitive to touch or if it’s just the fact that Lance is also beginning to lose control.
Keith thinks about that for a moment. Does he make Lance lose control?
But then Lance is grinding down with his hips and it causes both of them to gasp at the shocks that travel up their spines. Instinct takes over as he finds himself bucking up in response against the friction for more contact, every action shooting straight down to his legs. His pants are becoming restricting now and when they come together, he can tell that Lance feels the same way.
“Clothes—take them off.”
Keith lets Lance tear away his clothes, then watches as Lance slowly lifts his shirt over his head. His hand travels down his chest, past his stomach, feeling himself and spraying out his fingers as they inch closer to his pants. With Keith under him, Lance is straddling him completely, offering a perfect view as he undoes the button and stops when he gets to the zipper. He licks his lips, staring so intensely at Keith, eyes clouded with lust, that Keith can’t help but swallow hard.
The zipper moves down agonizingly slow and Lance takes his sweet time pulling down his pants. When his cock is finally exposed, Keith can’t help but stare at it, flushed and already hard.
“Like what you see?” Lance asks, pressing their bodies together once again. This time, without any fabric between them, Keith can feel every inch of Lance’s erection sliding against his, the slow drag of it going up and down.
His breath hitches as their tips rub together. “God, that feels—”
“Good?” Lance kisses his neck, sucking at the sensitive skin near his collarbones. He’s slightly out of breath when he says, “I’ve wanted this for so long, you have no idea. Not the sex, I mean, but—”
“I know,” Keith laughs. “You can confess your feelings later, just get on with it first.”
Lance huffs, but does as he’s told, leaning back and trailing his hands down Keith’s body to push apart his legs. “I was trying to make things more romantic.” He rubs circles along Keith’s inner thighs, teasing, never moving any higher than that.
Keith squirms under his touch, back arching in anticipation of something that never comes. He thinks he must look so needy, so desperate, falling apart like this despite the fact that they’ve barely gotten started. When Lance’s fingers just barely brush against his member before retreating, he groans, aware of how painfully hard he is.
He tries to glare at Lance, but even he knows that it doesn’t come out nearly as fierce in his current position. “Seriously, do you ever shut up? Just touch me and put your—ah, shit—”
“Like this?” Lance says, tracing the vein on the underside, from the base all the way to the tip. It makes Keith twitch, and when Lance finally wraps his hand around his cock completely, giving it a single pump, he can’t stop the moan that escapes his lips.
“Ah—more, more, Lance please.” He’s panting, not even entirely aware of what he’s saying. Struggling to focus through the haze in his mind, all he knows is that it’s not nearly enough.
“You know, I never thought it’d be so hot to see you begging for it,” Lance hums, stroking him steadily now. The pace is slow but something about the way he twists his hand and swipes his thumb over the slit every once in a while has Keith coming undone from his ministrations. Leaning forward, Lance goes to whisper by his ear, “And look at how beautifully you’re leaking for me.”
“Oh, f-fuck,” Keith whines as Lance starts to move his hand faster. He can barely form coherent thoughts at this point, quivering on the bed after a couple more strokes, and Lance, the bastard, is grinning throughout all of it. Somehow, it makes Keith even more aroused.
Lance’s mouth finds his again and they kiss like they’ve been starving for it. Keith sighs into his mouth, the slick slide of Lance’s hand causing his legs to tremble. They’ve only barely started and he can already feel the familiar heat coiling in his lower stomach, waves of pleasure overtaking his body.
“Lance, fuck, I—I’m close.”
It’s the wrong thing to say because Lance removes his hand, leaving his cock throbbing painfully without any stimulation, leaking onto his stomach. Keith cries out in protest, hips still jutting forward in a futile search for more contact. He’s breathing hard, watching as Lance leans over to take out the bottle of lube from the nightstand.
“Can’t have you coming just yet, darling,” Lance says teasingly as he lifts up Keith’s legs. He squeezes out a generous amount of lube, fingers hovering over Keith’s hole as he circles the entrance. He starts to push his index finger in, just barely past the first knuckle before pulling back out. “I need you prepared for when I put my cock in you.”
Keith moans at the dirty words, his own cock twitching in anticipation. He feels Lance thrusting the finger in again, this time going all the way. The way he’s looking at Keith with hungry eyes as he pumps back and forth has him arching his back as waves of pleasure wash through him. A second finger goes in, scissoring inside him, and Keith can’t help but cry out.
“God, you look so fucking hot,” Lance mutters praises while he picks up the pace. His other hand moves to grip his neglected member, pumping it lazily as he watches Keith fall apart in front of him. Flushed red at the tip, his cock is hard too, and Keith can only imagine how it’ll feel once he has Lance inside of him.
“I-I’m ready, please, Lance—” The fingers aren’t enough anymore. He wants to be filled with something bigger.
But Lance only shakes his head. “Not yet, not until I find—ah, here.”
His fingers are angled in a way that hits Keith’s prostate just right, applying pressure with every thrust now that he knows where to aim. It sends fires of arousal all throughout his body as he clamps down on Lance’s fingers.
“Ngh!” A moan tears through Keith’s lips. “I-I can’t—fuck—Lance, I’m going to come if you keep doing that.”
Smirking, Lance withdraws completely, leaving Keith’s hole clenching around air. “Thanks for the warning,” he says, and Keith can only whine at the loss of stimulation, feeling empty. His cock is dripping with precum and his legs shake, having been denied of his orgasm twice now. He needs it—needs to come.
Kneeling on the bed, Lance lines up his cock against Keith’s entrance, rubbing at the sensitive rim but never pushing past that. “How badly do you want it? Tell me.”
“So—so bad, Lance, please.” Keith is panting, spreading his legs wider in invitation. “I want you inside me.”
The tip of Lance’s cock goes in, and for a blissful few seconds, Keith thinks that he’s finally going to stop teasing. But then just as quickly, he pulls back out again and Keith can only groan in protest.
“I’m going to fuck you so hard that you scream. All the neighbours will hear you taking my dick and begging for more.” Lance grunts, finally thrusting in, and swirls his hips in circles to feel the heat inside Keith. And in return, Keith’s back arches off the bed, wiggling his hips as if trying to get Lance to move, cock twitching to every word he says. “Does that turn you on? Knowing that people could be listening as I pound you into the mattress?
With that, Lance begins to thrust into him and Keith lets out a wrecked moan, wrapping his legs around him. “Oh god,” he pants. “Don’t—don’t say things like that.”
“Hmm, why not?” Lance’s voice is low and sultry. “I can tell that you like it. You like knowing that I’m going to ruin you, that I’m going to fuck you until all you can do is scream. My. Name.” He punctuates each word with a thrust, holding onto Keith’s hips for more strength. The room echoes with the sound of skin slapping together.
“Lance!” Keith cries out, a withering mess on the bed. His hair is dishelved and he’s been reduced to such a state that all he can do is watch as Lance’s cock disappears inside of him each time. It’s raw and filthy and the sight of it only turns him on more.
A few more thrusts and Lance pulls out to flip him so that he’s bent over on the bed, ass in the air. He lines up his cock to his hole again and wastes no time picking up the rhythm from where he left off, pushing deeper and deeper into Keith.
“You’re squeezing me so hard, baby,” Lance bends over his back to whisper directly into his ear. “Feels so good. Let me hear you beg for it again.”
Keith’s cock throbs helplessly and he didn’t think it was possible, but a new wave of arousal rushes through him as he does as he’s told. “F-fuck, please Lance. I need you, I need to come, please, please—”
“Don’t worry,” Lance says, voice practically a growl. “I’m going to make sure that you won’t be able to walk after this.” He adjusts the angle of his thrusts a bit and aims relentlessly for Keith’s prostate each time without mercy.
“Ah!” Keith gasps, mouth falling open, the sensitive bundle of nerves adding even more pleasure. “There, hah, right there.”
Lance grins and slams his hips in the same spot over and over again. “Here?”
Keith arches his back, a series of low moans spilling from his mouth. “Yes, yes, don’t stop. I can’t hold back anymore, oh, I’m so close—”
His words dissolve in his throat when Lance reaches around him to take hold of his weeping cock. He pumps it in rhythm to his thrusts and Keith melts in Lance’s arms, feels himself losing control completely. It’s too much, it’s all too much, and his orgasm creeps closer with each passing second.
“That’s it,” Lance encourages as he continues stroking him, bringing him right to the edge. His thrusts start to become erratic, desperate, chasing his own release too. “Come for me. I want to see you. Come for me, Keith.”
With a final squeeze to his cock, Keith moans loudly as the sensation builds in his lower stomach. He grips the bedsheets hard. His legs shake, hips jutting upward to meet Lance’s, and he comes with a cry, spilling all over the bed sheets.
“Fuck,” Lance grunts. “You’re so tight. I-I’m coming too.”
Keith can feel him throbbing and it only takes a few more thrusts for Lance to reach his limit, pulsing and releasing inside of him. He groans as he feels the fluid filling him and trickling down his legs.
It’s quiet for a few moments as they both catch their breaths, coming down from the high of their orgasms. Keith feels entirely fucked out, some tingles still spreading throughout his body in the aftermath as his eyelids begin to close. But Lance reaches over to hold his face in his hands, grinning like he’s still far from being satisfied.
“Ready for round two?”