Work Text:
When cool fingers slide underneath his shirt, Lance draws in a shuddering breath. He scrabbles to grip something, not really particular about whether he manages to grab a fistful of shirt or, as actually happens, a handful of ass, and slants his mouth over Keith’s. He’s too eager and their teeth click together, but Keith angles his head differently with a slightly disgruntled sound in his throat and pushes against Lance with strength that the taller man had forgotten about.
He feels the cool metal of the castle wall behind him, the chill seeping through his shirt, but everything else is practically on fire. Heat pools in the pit of his stomach and spreads from where Keith’s leg tangles between his own, where Keith’s hands trail across his abdomen, where Keith’s eager mouth moves against his, and Lance can’t be bothered with rational thought. He cares even less about the reasoning when Keith presses closer and Lance’s mind short circuits with the thought, Holy Crow, his tongue’s in my mouth!
A sound builds up from somewhere deep in Lance’s chest, not quite a moan though not far off, but it’s muffled by Keith’s mouth, and he feels a smirk against his lips.
Bastard.
But...he’s a sexy bastard, Keith, and Lance digs his fingers into Keith’s hips, drawing him as close as he can in retaliation. A muffled groan rewards him, and he grins into the kiss. Revenge is sweet, but when Keith peels himself away for breath, Lance thinks the way Keith’s darkened eyes swirl with desire as his chest heaves and the way his cheeks are flushed with heat is even sweeter.
Lance doesn’t give Keith any more room for breath. He draws him even more tightly against his body, so that Keith’s hands are trapped between them, fingers digging for purchase underneath Lance’s shirt as Lance smothers Keith’s mouth with his own. When he licks his way into Keith’s mouth, he feels Keith shudder in his arms, a throaty moan rising in his chest. Lance can feel it as escapes, feels it vibrating through their chests, which are pressed together. It feels so solid, so real, that he’s not even sure it was just Keith that had made the noise.
He can’t help but whimper then as Keith’s teeth scrape his lip, pulling at it as his fingernails dig into Lance’s chest.
This is what all of his dreams were made of, Lance decides. This instant right here, where Keith breaks off their kiss to press his warm mouth against Lance’s pulse once, twice, thrice, before moving downwards, peppering his neck with kisses and nips and the hot, wet touch of his tongue.
And then he does it.
The moment it happens, he feels Keith tense up against him, and Lance is positive that he has ruined absolutely everything. And all just because Lance can’t keep himself from moaning just that one simple word.
“Keith…”
Shit, I just ruined everything. Shit, shit, shit.
Lance’s pulse roars in his ears and he’s waiting for Keith to pull away, aghast at whatever...this was. He’s going to pull his hands out of Lance’s shirt, and move those lips from Lance’s skin, and declare that he’s won. Somehow, Lance has never hated himself more than he does at this moment. He’s never wanted Keith to keep touching him like this, either, and it’s a very strange feeling.
But...but then Keith takes Lance by surprise.
“Holy crow, Lance,” he groans, breathless against the skin of Lance’s neck. And if his tone is a little husky and Lance is a little turned on, well, there’s not really anything Keith can do about it, since he’s the one pinning the taller, lankier paladin against the wall.
And then...then Keith’s teeth graze Lance’s neck and Lance’s breath hitches right as he is about to form some sort of comeback. A sharp prick of pain makes Lance inhale sharply and a brief indignant thought—what a prick, you just bit me!—fades into pleasure as Keith draws the skin between his teeth. Lance is pretty sure that he’s about to turn to putty under Keith’s touch, and he’s also positive that Keith’s current attention is going to leave a noticeable mark.
It’s in that moment, as he throws his head back against the wall and lets another moan it the air, that Lance realizes that this has already exceeded the terms of their bet. His eyes flutter closed as he bites his lip against the sensation of Keith’s mouth on his skin. He’s not even sure exactly when he stopped thinking about the little wager in the first place, but it’s the last thing on his mind as Keith laves his tongue gently across the tender skin and Lance’s fingers twitch against Keith’s angular hips.
His breath comes in ragged gasps and he gulps when Keith’s lips don’t return to his neck. He doesn’t miss the fact that Keith’s hands are still up his shirt, that he’s still pressed flush against Lance, but he wonders if that’s because Keith is being smug about his victory.
Lance finally opens his eyes with a shaky breath, worrying at his lip some more as he meets Keith’s gaze.
That, Lance decides, is officially his undoing.
When he meets Keith’s eyes, blown wide with want, his cheeks still flushed and lips plump and red, Lance can’t keep himself from acting. His hands slide up from Keith’s hips, under the hem of that familiar black tee, and they keep moving up until he plants one palm in the small of Keith’s back and the other between Keith’s shoulder blades. Keith’s perfectly kissable lips part in a gasp when Lance uses his new leverage to pull him closer.
That stupid bet be damned. It may have started whatever this was, but Lance isn’t about to let it end. It seems that, for once, he and Keith are in agreement.
Keith is already leaning up to meet him when Lance leans down to capture his lips again, his arms sliding around Lance’s waist. He still hasn’t pulled his hands from Lance’s shirt completely, pads of his fingers warm against the small of Lance’s back, but where their skin touches, there’s a fire that Lance doesn’t want to put out. Their tongues tangle, and Keith lets a low moan escape as Lance takes control of the kiss again, pressing as closely against Keith as their position allows. One of Keith’s hands finally slips out of Lance’s shirt, and he mourns the loss of skin to skin contact until Keith squeezes his ass. Lance groans into his mouth, unable to bite the sound back, and he hears a similar sound in the back of Keith’s throat.
They break for air again, and Lance has lost count of how many times they’ve kissed. As his chest heaves, ragged breaths refilling his lungs, he decides yet again that he doesn’t really care. Instead, he pulls one of his hands out of Keith’s shirt—and holy crow, was that a whimper? Fuck, Keith!—to reach up and tangle it in Keith’s hair. With a tug that’s less than gentle but not quite painful, he manages to tilt Keith’s head back, and with a smirk, Lance leans down to press hot, open-mouthed kisses against the pale column of his throat. He hears Keith’s breath hitch, and smiles to himself.
Lance pulls his fingers from Keith’s soft hair, but his head remains tilted back, just as Lance had hoped. If anything, Keith tilts his head back further of his own accord. Lance is pleased with this reaction, and then he tugs the collar of the black tee aside, pressing more kisses along the juncture of Keith’s neck and shoulder.
He hears Keith bite back a sound. He’s not sure exactly what sound, but he’s determined to find out. Two can play at the little game that Keith himself had started moments before, and Lance is a willing Player Two. So, when he tugs Keith’s shirt aside even more, and his lips move to the soft flesh just above Keith’s collarbone, his teeth come out to tease the skin. If he’s not dreaming, and Lance is pretty sure this is all real, he hears another tiny whine in the back of Keith’s throat.
Perfect.
He bites, none too gently, and a sharp intake of breath permeates the air as Keith’s hand on Lance’s backside tightens and his fingernails dig into the skin of Lance’s back. His heart is beating wildly in his chest as Lance presses his tongue to the afflicted patch of skin. And then he nips again, sucking lightly at the same spot. When Keith nearly spasms against him, Lance takes it as a good sign and sucks harder.
The sound that comes out of Keith’s mouth should be illegal because it sends a shudder through Lance’s entire body.
“Oh my God, Lance,” Keith writhes under his touch, and Lance finally pulls his lips away, pressing a kiss on the tender spot. He can already tell it’s going to leave a pretty purple mark, and it gives him a sense of satisfaction.
And then he pulls back and sees the way Keith’s chest is heaving, the way he looks up at Lance with half-lidded eyes, heavy with desire, and Lance realizes that he might just be in a little too deep to stop now. He can feel the heat pooling in his stomach, the pure hunger that floods his body as he stares at how disheveled Keith is—and the thought that it was him who had turned Keith into this only made the feelings burn stronger.
“Keith—”
“Shh,” Keith pushes up to press another kiss, much more chaste this time, against Lance’s lips. And then he pulls his arms away and grabs a handful of jacket, tugging the lanky paladin forward. “Come with me.”
“W-Where are we going?” he’s breathless, but he still wants to know. Keith isn’t dragging him toward the hangars, or towards an air lock, and he isn’t dragging him towards the training room, so Lance kind of assumes he’s not in for death or maiming. Not this time, anyway. But his heart still beats wildly in his chest and he wants to know.
“Mine,” Keith replies simply, and after a few seconds of confusion, it clicks.
They’re heading towards the living quarters.
They're heading towards Keith's room.
Lance allows himself to be led, following Keith's quick pace with eager steps and a racing heart.
