Lance’s backpack jostled uncomfortably against his back as he climbed the stairs double-time to his second-floor apartment, trying valiantly (although failing by some small modicum) not to fall behind on the pace of “Telephone” in his earbuds, lest he be egregiously late for his lecture. He pulled out his keys from his jacket pocket as he reached the landing for his floor, catching his breath and locating the right one on his fob in transit to his front door. He spared a glance down to his wristwatch while his other hand worked at unlocking the deadbolt.
It read 9:47. That gave him thirteen minutes before the start of class, and eighteen before the professor locked the door on him, forcing him to burn a favour from Hunk or Pidge to sneak him in. He could manage the walk back to the lecture hall in a brisk ten if the stoplights went his way, which was why he had insisted on going back to grab the essay he’d left—printed out but forgotten—on the counter, rather than spare the thirty seconds (and more importantly, the fifty cents) to print it at the library.
The latter suggestion had been Hunk’s, but Lance had staunchly refused—this college was siphoning tens of thousands of goddamn dollars out of him, like hell he’d give them the satisfaction of another cent! Especially not when he’d stayed up ‘til three the night before with this paper, and had gone through the trouble of printing and stapling it out already. He had principles , after all.
He twisted the knob gently, pushing the notoriously creaky door slowly open as he inched into the threshold. Keith—their fourth and newest roommate—slept through the mornings, a frequent graveyard-shifter who attended exclusively afternoon and evening classes, and Lance wasn’t keen to awaken him and earn his ire (something that he had a knack for even when Keith was fully awake, not to mention that Keith was, by every definition, the antithesis of a morning person.)
Besides, Lance wouldn’t be long—couldn’t be, not more than twelve minutes now. He just had to go in, get the essay, and get back to class. Possibly jaywalk, but he wouldn’t tell his mom if you didn’t.
He shook his sneakers off and tiptoed to the kitchen, his eye immediately catching on the essay right where he’d left it, on the edge of the faux marble right by the doorway. He snatched it and shrugged his backpack off, squatting down to stuff the pages somewhere in his notebook (which would keep them straight enough to only earn a little side-eye from the prof,) then zipping his bag up and slinging it back on.
He had… still twelve minutes. Eleven and a bit. He jogged gingerly back towards the front hall, stilling the contents of his jostling backpack with a hand and a wince as he slipped past Keith’s ajar bedroom door.
Lady Gaga faded out just as he bent over the shoe tray, the gentle harp petering out in his earbuds. There was a second of delay between songs, and in that short time, the silence of the apartment was broken by a loud, lewd moan.
The sound froze him, and in his panic, Lance did something very stupid: he ripped the cord out of his phone jack. His eyes went wide, then went down to stare dumbfounded at his traitorous hands. He bit his tongue to hold back any curse that might try to escape his lips, then tugged the headphones from his ears and wadded them up haphazardly in his pocket.
He was really regretting not having texted. In all fairness to himself, he hadn’t wanted to risk waking Keith up with a text for a thirty-second return, but all the disdain of a grumpy Keith would pale in comparison to the intensity of the burn on Lance’s face right now, to the embarrassment of having walked in on his roommate. He then registered the faint buzz coming from the nearest room—yeah, he had to go .
He stuffed his first foot in a sneaker, restraining a groan when he realised it was the wrong one. He switched to the right shoe—or the left, actually—and hissed a curse under his breath when he stuffed the tongue in with his toe.
Alright, guess we’re doing this kindergarten-style , he decided, then promptly fell back on his ass, picking up the shoe and straightening it out, all the while praying Keith wouldn’t hear—
Another moan rang off the walls, and Lance stilled, his sneaker dropping to the floor, because he couldn’t have , there’s no way he just heard—
“ Lance ,” Keith begged, “oh god, Lance— fuck .”
His heart leapt up into his throat. He counted the shoes by the front door, finding only Pidge’s rain boots, Keith’s running shoes, and his own pair. He scanned the mudroom for the sign of an unfamiliar jacket, a sock— anything , but found nothing. Keith didn’t know that many people, and definitely had never mentioned knowing another ‘Lance.’ He must have been alone in his bedroom, from the looks (and sounds) of it.
He swallowed thickly. Did that mean Keith was in there, imagining Lance as he..?
He set his jaw, shrugging off his bag and leaving it on the floor. He pushed up to his feet, light-headed from the blood pulsing through his veins, nerves set on edge as his impulse took charge against his better judgement. Because he really shouldn’t be doing this—this was real life , not porn—but no matter how much he told himself that, he couldn’t walk away. He had to know for sure. He tread carefully to the door, resting a hand on the doorknob when he arrived, steadying himself there.
“Keith?” He thanked the heavens that his voice came out as even as it did, despite the erratic tattoo of his heart. The bedframe stopped creaking, the low hum of the vibrator cutting off a moment later. Lance took a steeling breath, then opened the door.
Keith pushed up on an elbow as he came into sight, his mussed hair sticking up on end and framing a positively aghast—wide-eyed, slack jawed, and ruddy-cheeked—expression. His other hand went to the hem of an oversized t-shirt, pulling it between his splayed legs to hide what his lack of pants and underwear couldn’t. Lance didn’t let his eyes stray down, though. He kept them locked on Keith’s, feet carrying him a step closer to the foot of the bed, and slipped his jacket off.
“Lance, I… h-how long have you been here?” His eyes flit across the room, on the walls, at the foot of the bed, never fully managing to meet Lance’s gaze.
“You were saying my name.” He let the jacket hit the floor and stepped closer, slow but relentless, confidence bolstering with each footfall, each second that passed without Keith chucking something at his head and telling him to get the hell out.
Keith heaved a groan. “Yeah. Um, it wasn’t—”
“You think of me when you jack off?” Lance’s knee hit the foot of the bed, and he caught himself on his hands, crawling the rest of the way up towards him.
He winced, gaze pasted now to a spot on the wall as Lance settled on the mess of sheets between his parted legs. “Fuck, I didn’t… I don’t—”
Lance chuckled, pressing his pointer finger to Keith’s jaw, guiding him to look back ahead. “You can answer honestly.”
Keith clamped his mouth shut, finally returning his gaze with trepidation in his eyes. Then something clicked visibly for him, the realisation that Lance had settled over him, that his thumb stroked patiently against his cheek. He gave a cautious nod.
Lance felt his smile grow, and he leaned closer, Keith’s eyes widening again as he fell back against the pillows. Lance didn’t let up on the chase, however, his hands bracketing Keith’s waist on either side, fingers twitching in the sheets with anticipation. But he couldn’t touch him, not yet.
“It doesn’t bother me,” Lance mused. “Actually, I’m flattered; you’re hot as hell. But I think it’d be better with the real deal, don’t you?” And holy shit , Lance didn’t know his voice could get that low, but he could work with it.
Keith licked his lips, the gears churning slowly in his head. The tension eased from his face—still wary, doubtlessly, but without that same apprehension. “Is that a serious offer?”
Lance shrugged. “It’s on the table.” From so close, Lance could practically see the precise shift in Keith’s eyes from consideration to resolve. Then, he grabbed two fistfuls of Lance’s shirt, and pulled himself up off the bed.
Lance wasted no time answering, pressing their chests together and dropping Keith back down as their lips crashed together, and finally— finally —his hands went to Keith’s bare hips. They adjusted the sloppy kiss, fixing their paces to meet one another in the middle, and Lance’s fingertips kneaded into the thick muscle of his thighs— god , what he’d do to have those wrapped around his neck. One hand continued the path downwards, trailing it along the inside of Keith’s leg, catching himself about halfway up when Keith’s body gave a nervous twitch.
“I’m going to take it out,” Lance murmured, lips alternating between working his words and working on Keith’s, “that okay?”
“That’s fine. I’m not—It’s… I was getting close,” he explained.
“Oh.” Lance has it in him to apologise, almost. Instead, he traced his hand up the rest of the way, finding the thick base of the toy in his ass, and said, “I’d hope so, with how loud you were screaming.”
Keith huffed, pushing him back by the shoulders to break the kiss and shoot him an irritated look. “Yeah, well I thought I was home alone.” His frown didn’t last long, teeth gritting and eyes rolling back as Lance pulled the vibrator out.
Lance sat back on his heels, holding it up to give it a cursory glance and… Wow . He gave a nervous laugh at the bulbous tip. “Okay, cards on the table: I’m not sure I’m that big.” Though silently, he hoped the base gave it the illusion of greater volume in his hand, he didn’t let himself dwell on the thought very long. He spotted a pile of dirty laundry by the bedside, and chucked the vibrator in its general direction, turning his attention back on Keith.
He scoffed. “Yeah, and you don’t vibrate either. I really don’t give a fuck at this point; just get hard and get it in me.”
Surprisingly, Keith’s brusque attempts at dirty talk were kind of turning him on some more. “Jeez, way to smooth-talk a guy.”
“I was ten seconds away from finishing. This is as much patience as you’re going to get.” He pulled Lance closer by his shirt, then pulled it off.
Lance leaned down to lock their lips together again, opening the kiss to let Keith’s prodding tongue slide in. He hummed around the welcome intrusion, feeling hands explore across his chest, against his stomach, around his hips. Keith slid them up together, then out, thumbs circling around Lance’s nipples. He tensed at the sensation, and Keith halted, pulling back from the kiss.
“Don’t like that?”
“No, no, ‘s fine.” His cheeks burned a bit from the embarrassment. “It’s just… no one’s ever done that before. Kind of surprised me.” At the eyebrow Keith quirked, Lance realised that this was his first time ever with a guy. Maybe that was more common with guys than with girls?
“I can stop,” Keith said, snapping Lance back to reality.
Lance gave an abashed laugh at his own skittishness. “Don’t. It’s good.”
He returned to the kiss, and the thumbs against him started moving again—slower, gentler this time. With a deep breath, Lance willed himself to relax, let himself focus on the soft pressure against his sensitive skin, felt it pool with the rest of the heat gathering in his belly. Keith pinched the hardened buds, kneading them between his fingers, and it sent a thrill of pleasure through him, making him arch towards the touch and pulling a soft moan from the back of his throat.
“You talk a big game about yourself,” Keith breathed against his lips, one hand resting flat against Lance’s chest while the other trailed southbound. “I want to know if you can put your money where your mouth is.”
He cupped the bulge in the front of Lance’s jeans, the flat of his palm rubbing slowly, deliberately, and damn —the breath hissed out from him, the ache from the insufficient contact suddenly very real (the stutter it drew from his hips embarrassingly real as well.) Keith breathed a soft chuckle at the reaction, while Lance’s hand went to his back pocket.
“Uh…” He blinked unfocused eyes as his hand landed on nothing but denim, switching hands to search his other pocket for his wallet, to no avail. Shit , it must’ve been in his coat, and he honestly wasn’t keen on performing the Boner Waddle of Shame in front of his hot as sin roommate to retrieve it. “D’you have a condom?”
Keith jerked his head to the side. “Second drawer on my nightstand.”
Lance crawled over, pulling back the drawer and tearing one off from the pack. For good measure, he also retrieved the bottle of lube beside it—not that he thought it was wholly necessary, given that Keith had already worked himself up, but it couldn’t hurt. When he returned, it was to Keith lounging back in the sheets, hands resting palms-up on either side of him. He tracked Lance’s movements hungrily, anticipation mixing with self-satisfaction.
It was goddamn contagious, the sight of it having him clamp the edge of the condom package between his teeth as both hands flew to his zipper. Once unbuttoned, he shimmied his jeans and underwear just barely down to his thighs, enough for his dick to breach into the uncomfortable mercy of the cold, free air. He brought a hand up and ripped open the pack, spitting the plastic off to the side somewhere, and rolling on the condom without further ado. He inhaled a sharp breath as his hand stroked up, taking the moment necessary to lean against his other hand and steady his spinning head to realise just how turned on he’d let himself get. He glanced over to gauge Keith’s reaction, but found no judgement on his part, just hungry eyes drinking him in, and a tongue darting out to wet his lips.
It fermented the resolve in Lance’s chest, the confidence and security to let him do this. He grabbed the bottle of lube and squirted some into his palm, working himself over a handful of times, then leaned over Keith on an elbow.
Keith gave him the affirmative nod, shuffling down a tad until his legs rest against Lance’s knees. With a hand still on his cock, he led himself forward, brushing a fingertip against Keith’s entrance before guiding the tip to rest there. He brought his eyes back up to match Keith’s, watching his face as he pushed in. The pleasure crested as he shifted forward, Keith’s heat sliding so easily around him that he found it difficult to do so slowly.
Keith’s reaction was a bit less subtle: his jaw dropped as he choked on a drawn-out moan. His eyes rolled back, lashes fluttering as he shifted closer on his messy sheets.
A thrill passed through Lance as he bottomed out, dangerously intense. “Give me a sec,” he grunted, clenching his hands and shutting his eyes, pulling his focus on steadying his breath.
He knew Keith was eager, but the last thing he wanted was for this to finish before he could get it started. So he leaned down and kissed Keith again, sloppy and tongue-heavy, a little uncomfortable but a testament to how far gone Keith was (not to mention a bit of help to keep Lance from a repeat of the first time he got to second base with his high school girlfriend.)
He rolled his hips gently, testing the waters. Keith’s moan vibrated against his teeth, his legs clenching against Lance’s as his heels dug into the sheets, obviously keen on reciprocating. So Lance pulled out a bit, thrusting forward in earnest this time, and Keith abandoned the kiss, lost in the sensation as he threw his head back against the pillows. Lance brought his hands up to Keith’s hips, pulling him up into his lap and thrusting harder, relishing in the pleasured cry it pulled from him.
“Fuck, yes!” He wrapped his legs around Lance’s waist, his hands flying up to grab at the pillows behind him. He canted his hips up, and his eyes went wide, his back arching as he started to rock into Lance. “Oh god, right there— right there ! Just like that!”
Lance never imagined Keith of all people would be this vocal in bed—who knew it took a dick in his ass to get him to say more than a handful of words at a time? But he heeded the instruction, thumbs pushing into the jut of his hipbones to try and maintain that exact angle as his movements grew more vigorous.
A realisation hit Lance through Keith’s sporadic mantras, and it pulled a chuckle from him. “You’re not going to say my name?”
Keith cut himself off, lust-heavy eyes regarding Lance curiously. “Wh-what?” The question stuttered out with the spasm of his hips.
“It’s why I’m here, Keith ,” he very pointedly accentuated the use of his, hoping it landed with the intended effect. “What, you can only say it when I’m not around? That doesn’t seem fair.” The tail-end of the sentence upturned with the smirk he failed to hold down.
Recognition passed over Keith’s expression, followed by annoyance. His gaze faltered to the side as he slumped, a pout forming on his lips briefly before he needed to part them to breathe. “You’re such an ass.”
Lance clicked his tongue. He knew Keith had a bit of an ego about him; it was part of what made him so attractive, and most of what made Lance so eager to prod at him. “Obviously you like it, if you get yourself off on it.” It hit Lance the moment he spoke it—that the mere thought of him was enough to get Keith horny, enough to make him shove a toy up his ass and imagine it was Lance. He swallowed thickly, his words a bit harder to find after that realisation. “Come on, Keith. I want to hear it, and I know you want to say it.”
“You’re an ass ,” he reiterated, turning back ahead, “… Lance.”
Something clenched in his gut, and he let go of Keith’s hips, leaning forward onto his elbows. “What else am I, Keith?”
He whined at the murmur of his own name, hands tightening against the pillows. “You’re a loudmouth.” Lance outright laughed, Keith being the pot calling the kettle black right about then. “You’re a tease. You’re so fucking hot it’s stupid , Lance. You’re so good— god , Lance, it’s so good.”
Lance brought a hand back, tucking it under the hem of Keith’s oversized t-shirt, and wrapped his fingers around his cock. “That’s good?”
Keith cried out, trembling against the touch. “Yes, don’t stop—Lance, fuck!” Lance didn’t let up, pumping Keith harder and harder, rocking into him without mercy. Keith’s thighs clenched against him and his rhythm fell apart, hands flattening against the headboard and slamming it into the wall as he chased his own release.
Keith tightened around him, his back arching as his mouth fell open with a curse. Lance leaned away as cum spilled out against his wrist and Keith’s shirt (and possibly landing against his sheets—which, as far as Lance was concerned, was better than getting on his own jeans.) Keith’s movements went from jerky and desperate to long and languid, eventually dissipating to nothing, and Lance’s hand pulled gently away. His heart pounded as he watched Keith’s chest heave, as Keith’s cloudy eyes slowly came back to focus on him.
“Did that actually just happen?” Keith muttered, practically rasped with the state of his throat. Lance, every so graciously, resisted the sudden urge to flip him over and rail him into the sheets.
“Want me to pinch you, ‘n check if you’re dreaming?” He waggled his eyebrows, and Keith snorted, rolling his eyes to confirm that yeah, this was the same Keith he constantly bickered with, and he hadn’t been replaced by some alien clone who suddenly wanted to bone him.
“I think we should finish you off first.” Before Lance’s sluggish mind could catch up, Keith’d braced his legs on either side of his hips, pushed a hand into his chest, and rolled them over with ease. Lance had only really registered it all when his back bounced against the mattress, and suddenly Keith was crowding over him, wearing a cocky smirk.
Shit. Shit shit shit, that’s hot . Lance suddenly remembered what was so attractive about guys who worked out and could throw his stringbean ass around like a ragdoll. Part of him (probably his brain) lamented that Keith had likely smudged some cum on his leg. Another part of him ( definitely his dick) really didn’t care, particularly when Keith ground down on it, rolling his hips in a circle that was way too tight to satisfy.
And the view wasn’t exactly helping, holy shit . Keith’s t-shirt spilled over him and onto Lance’s stomach, his hands going up to smooth back his hair, sitting him back on his heels and Lance’s lap as he continued his gentle rolls, his eyes slipping shut and face falling slack. Keith had just finished, and was probably hypersensitive as fuck now—Lance knew he had to be patient, but that didn’t make it any fucking easier.
His hands went to Keith’s thighs, desperate for sensation and running his palms up-and-down to get something . Keith’s eyes fluttered open to catch his gaze, a deep, rich brown shimmering golden in the morning light of an open window over his bed. And he sat up, pulling out just an inch before sitting back down. When Lance’s fingernails dug into his skin, his smirk reappeared, and he repeated the motion again, and again, pulling out just the slightest bit farther each time, pushing back just the slightest bit harder.
Lance clenched his jaw, letting the smallest groan burgeon in the back of his throat. His hips started to roll with every exhale he breathed, Keith’s movements speeding up to match him. Keith hummed contentedly when Lance’s hands slid up under his shirt, fingers brushing against the swell of his ass, then his thumbs stroking along the flex of his Adonis belt. And Lance might not know how much Keith’s gym membership cost, but he swore he’d pay for a lifetime of it as long as he could feel the fruits of his labour.
Keith rest both of his hands against Lance’s stomach, then drew one up to the hem of his own shirt. Slowly, sure to draw Lance’s eye, he twisted his fingers in the fabric, then pulled it up, dragging it along the swells and divots of his abs, then his chest, then brought it up to his lips, clamping the fabric between his teeth. With it, he pulled himself all but off of Lance, then dropped his whole weight down.
Lance pulled back a hand to cover his moan, curling into a fist when it petered off, then throwing the arm over his head when he ultimately regained his wits. Keith’s pace hadn’t let up, and when Lance finally collected the wearwithal to reopen his eyes, he saw that Keith’s lips had pulled back into a cheshire grin. With the shirt in his teeth, he figured Keith couldn’t vocalise just what was on his mind, but Lance could suss it out all the same.
“Shut up,” he warned, precisely the opposite command he’d been giving a short time ago. Yeah, maybe Lance was a bit of a hypocrite, but he’d never been comfortable with anything past dirty talk, sue him.
Keith seemed content to let it drop, easing up on his tempo to add a roll of his hips. It eased a shaky breath out of Lance, pulling him out of his own mind and back into the sensation of the present—of Keith, loose, slick, and hot around him. He dragged his gaze back down to the stomach Keith had bared for him, the glisten of sweat against the definition of his abs twitching with every motion, his legs flexing as he bounced on Lance’s dick.
“Damn,” he breathed at the sight, his own roll joining back into the mix, Keith taking it as his cue to speed things back up. Lance gave a full-body twitch as his sensitivity mounted, climax inching ever closer. And he pursued it now, trying to replicate the exact motion that precipitated—“ Fuck !”
He grit his teeth, his breath hissing between them as Keith hit it again, and again, and again, far too accurate for it to be a coincidence. He grabbed Keith’s hips, using the hold to fuck up into him as hard as he could. Keith’s went to rest on Lance’s shoulders, seeming to catch Lance’s intent and meeting it, clenching around him.
“Oh god, oh god, Keith ,” his dam burst, the need for release far too intense for him to care about how he sounded anymore.
“Lance, come on,” he let the shirt drop, rocking into him with reckless abandon, “you’re so close.” He felt the sensation gather, the inevitable build before the drop, then Keith moaned, “Fuck, Lance!”
Lance’s spine snapped ramrod, his hands clenching hard enough to shake as his climax took over. His heart hammered as it pumped ecstasy through his veins, as his skin burned against the sheets, against the air, against Keith’s hands and his legs and his walls. Keith rode him all the way through it, heeding the pull on his hips to set his tempo as Lance crested and came down, halting himself when Lance gave a hypersensitive shudder.
The air filled with the sound of their ragged breaths while the sensation faded, Lance’s mind buzzing pleasantly as his eyes slipped half-lidded. Keith heaved a sigh, then pulled slowly off of Lance with a grimace he felt himself match, falling back at Lance’s side with a bounce. Lance stared up at the ceiling, still caught in the aftershocks.
“So,” Lance rest his hands against his stomach, feeling its rise-and-fall as he slowly regained his breath, “how long have you been waiting to do that?”
Keith hesitated, then answered softly, “I mean, I’ve been crushing on you for a few months, now.”
Surprise tugged at Lance’s gut, and he glanced over at Keith. “Wait, you have a crush on me?”
Keith turned to him, his brow furrowing and mouth falling open to say something. Then he snapped it shut, his eyes going wide before he buried his face in his hands. “Oh, you’re fucking joking right now.”
“No—now hang on!” Lance laughed, turning on his side and propping himself up on an elbow. “You like me? Like, have feelings for me?”
“Shut up. I’m not talking about this,” he grumbled.
“You think I’m cute?” No response. “No? You think I’m funny? I know you do—I see you laugh at my jokes when you think I’m not looking. C’mon , Keith.” He pulled at Keith’s wrists, and Keith slapped his hands away, arms going to fold across his chest as he glared resolutely at the ceiling. Lance guffawed, throwing an arm across Keith’s stomach and curling against his side, resting his chin on Keith’s shoulder.
“Stop it.” Keith elbowed him weakly in the side.
“Aw, don’t be so grumpy about this—I’ll buy you dinner!”
“Rude.” Lance matched Keith’s pout with a fake one of his own. “This is the first time I’m ever asking a guy out, and you won’t even give me a chance?”
“I’m not going on a pity date.”
Lance snorted. “Y’think I’m doing this out of pity ? Do me a favour and look in a mirror, dude. There’s no way a guy who looks like me’d have a chance with you under any other circumstance.”
“You shouldn’t say that about yourself,” Keith protested softly.
Lance hummed. “So you do think I’m cute?”
Keith shoved him away, rolling away to stand. “I think you’re annoying .” It fell short of denial though, spoken more as a concession than anything else.
Lance pushed up to sit, pulling off the condom with care, if not recent practice. “But you’ll still go to dinner with me, right?”
Keith sighed, turning back to face him, holding his hand out when Lance tied it off. “Fine.”
He passed over the condom, which Keith threw promptly in the trash bin. “Jeez, try not to look too excited. Need any help cleaning up?” He lay back down to shimmy his pants back up around his hips.
Keith shook his head. “I was going to shower anyway.” He yawned, stretching his hands over his head, and Lance tried to not let himself get too distracted by the view (though it did take him an extra few tries to button up his jeans.) “Y’need one too?”
As much as Lance might enjoy the prospect… “No time, I’ve got class in—” He checked his wristwatch, then blanched. “Oh fuck .”