Work Header

Once, Twice, Threes Times a Goner

Work Text:

Lance is mad. 


It’s not like him to get mad. 


Frustrated? Yes. 


Annoyed? Absolutely. 


But mad


Lance is good spirited, and he takes everything in stride. He’s quick to laugh things off, to forgive and to forget. All things accounted for, he thinks of himself as pretty good natured. 


In other words, there are very few things capable of pushing Lance far enough over the edge that he snaps. Few things capable of truly, honest to goodness, pissing him off. 


He should have known that, sooner or later, Keith would wind up being one of them. 


Keith, who Lance is currently watching spar with Shiro from a bench outside the boxing ring. He’s supposed to be wrapping his hands to prepare for practice, but he can’t keep his eyes from continuously straying to the match in front of him. 


He takes a deep, steadying breath and attempts to focus himself. Exhales, loops his thumb in his hand wrap and pulls the fabric in the opposite direction. He keeps it taut as he wraps it around his wrist three times:






His hands shake as he does it. He stiffens, wills himself to calm down as he pulls the wrap across his hand, bringing it over his palm and back again:






His eyes wander back up to the match, linger on the elegance of Keith’s stance. The sureness of his footwork. The smoothness of his motions as he dodges and parries, dodges and swings. 


Lance brings the wrap under his hand and back up, hooking it under his thumb for support. Three more wraps:






From here, Lance can see the way Keith’s sweat clings to his skin. 


Can see the flush of his lips, cheeks, and chest as he moves. 


The intense look in his gaze as he focuses on his opponent, indigo eyes zeroed in and sharp. Attentive. Fierce


And it pisses him off. 


“You ready to practice?” Shiro‘s voice cuts into the space around him. Lance looks up to see that the two have stopped sparring.   


Lance’s eyes immediately cut over to Keith, standing slightly behind Shiro. He’s as surly as ever with his arms crossed at his front, weight balanced to one side making his hip jut out slightly. Keith doesn’t look at him, rather, he looks at everything but him. 


And it’s like gasoline being poured over an open flame. 


He doesn’t answer Shiro. Instead, he makes his way over to them and steps into the ring.  


As the sun steadily sinks below the horizon, the harsh, white fluorescent lights in the gym flicker to life. 


The light makes Keith’s split lip stand out, fresh blood clinging to the cut as he bites down, worries it between his teeth. Highlights the angry, red and purple bruise beginning to take shape along his jawline. 


Right where Lance landed a particularly good uppercut. 


Lance can hardly take pride in it, though. Not when he knows he looks just as bad. 


His brow bone throbs, bruising an assortment of blues and purples, he’s sure, along with enough swelling to cut some vision from his left eye. And, he hasn’t had the chance to look directly at it yet, but he’s spotted a large, patchy bruise forming against his ribs from the corner of his eye. It doesn’t look good, to say the least. 


And he knows that beneath each of their hand wraps, they’ll both find throbbing, bruised knuckles. 


The gym is completely silent besides the humming of the lights, besides their laboured breathing as they face each other in the ring, battered and bruised and exhausted. Lance doesn’t know how long the two of them have been at it, but he suspects it’s been around an hour since Shiro left the two of them here. The lights had turned on, afterall, meaning it was already late enough for the bright, evening sun to have faded almost entirely from the sky.


It wasn’t unlike the two of them to get a little aggressive during practice, but today things were… exceptionally heated. Well… Lance was exceptionally heated. In his defence, Keith had responded to him in kind, so it wasn’t entirely his fault. 


Either way, the result was that Shiro, the man with patience of steel, had finally snapped. 


“That’s it. I can’t do this anymore,” he’d said. “I’ve had it with you two.” The frustrated edge of Shiro’s regularly calm, soothing voice had been enough to make the two of them freeze mid-spar. He’d continued his rant without pause— not like he and Keith, who’d been struck too dumb to move, could interject anyway.  


“You are not allowed to leave this gym until you resolve… whatever problems you seem to have with each other. Talk it out, beat the shit out of each other, I don’t care. But don’t come back tomorrow unless you do.” 


Then, he’d slammed the key to the gym on the side table next to the door, said a curt: “Lock up when you’re done,” and left without a backwards glance. 


“What is your problem with me?” Keith asks, breaking their silence and bringing Lance back to the present. 


“I don’t have a problem with you,” he says, but his clipped tone says otherwise. 




Lance doesn’t say anything. He doesn’t have anything to say. They both know he’s full of shit, but like Hell he’s going to give Keith the satisfaction of being right. 


Keith scowls, starts moving again by lightly shifting his weight from foot to foot, jabbing at Lance’s side.


Lance blocks it, of course. 


“What is it?” Keith prods, voice even. “Is it something I’m doing?” He punctuates the question with another jab, this time at his other side. “Saying?” Another jab, harder this time. “Or is it just me you hate?”


“I don’t hate you.” The words come before he has time to think about them. His voice is tight, pressed for air as Keith picks up speed. 

One jab to his right.


A second aimed at the soft skin of his side, right under his ribs.


A third cutting up from below. 

“You do.” Keith says it like it’s fact. He jabs again:





Three times

And Keith kicks out a leg, sweeps it under Lance’s foot as he moves. It takes him completely off guard, has him yelping in surprise as he’s thrown off balance. Keith takes a bold step forward, pressuring him over the precipice, and the next thing Lance knows, the room is tipping sideways and his back is slamming against the mat. 


Keith is immediately overtop of him, keeping him down. 


“Keith!” Lance shouts, confusion and panic rising up his chest. “What the fuck are you doing?!” Lance struggles below him, but his movements are stiff with shock and sloppy with panic. Keith grabs his wrists and pins them above his head with an ease that is almost laughable. He says nothing. 


So Lance continues to sputter. “This is boxing . You can’t— you can’t—


“I did,” Keith cuts him off with a low growl. It reverberates through him. Lance can feel it in his chest. Keith leans down slightly, crowding further into his space. “Admit it, McClain. Admit it and I’ll let you go.” 


“Admit what?” Lance bawks, squirms even though it gets him nowhere. He wants, more than anything, to fight back and regain his bearings. He’s stubborn, and he doesn’t like to lose— his entire being is screaming at him to move. To be faster, to be stronger, to turn the tables in his favour. But his own surprise, their proximity, the fact that Keith is practically straddling him right now, all of it clouds his mind. And he’d be lying if he said there wasn’t a small, traitorous part of him that wants to stay like this. Under Keith and at his mercy. 


Oh, God. He’s so fucked. 


It has his skin burning with embarrassment. It burns and burns, adding smoke to the fog that clouds his judgement and keeps him, back pressed against the mat, pinned down by Keith’s weight and the pressure of his gaze. 


“You know what.”


“I don’t fucking hate you! Oh my god, why do you even ca—” 


Lance stops when he feels Keith’s grip on his wrists tighten, sees how his expression softens. For a moment, he almost looks… upset?


His train of thought is cut short as Keith shifts on top of him. Whether it’s on purpose or not Lance will never know, but he gasps aloud at the feeling as Keith’s weight presses just so over his groin. 


Keith stills above him. Lance doesn’t breathe. He can’t breathe. Not when he’s sporting a half chub just from having Keith pin him down and sit on top of him. Not when he’d just hinted at how vulnerable he really is like this. And Keith is just looking at him, expression neutral and unmoving. 


He opens his mouth to say something, anything— but then, Keith rolls his hips. Slowly, intentionally this time. It’s reserved and the motion is light, but it stokes the fire that’s starting to flicker to life in his lower belly. He can’t help but squirm against it, let out a small groan in contention. 


Keeping an even expression, Keith cocks his head to the side. “You into this?” 


Lance burns bright from the ears down, downright sputters as Keith lets go of his hands and sits back. 


“You… don’t hate me,” Keith says, matter of fact. 


Lance doesn’t know what kind of reaction he was expecting from Keith, but this definitely wasn’t it.


Shock? For sure. 


Disgust? Most likely. 


But this? This slow, careful realization Keith seems to be having above him. The way his eyes haven’t looked away from him, haven’t lost a lick of their former fire, of their former intensity. Lance can’t read it, but it makes a shiver run down his spine all the same. 


“No,” he sighs.


“You’re… into me?” Keith asks with another experimental roll of his hips. Lance bites at his lower lip to keep quiet. 




That makes Keith smirk. 


“You… like me?” 


“Don’t get ahead of yourself, mullet,” Lance grumbles. He turns his head to the side, makes a point to look away from Keith as he flusters. 


Keith pauses above him, but not for long. He leans back down slowly, rests his elbows on either side of Lance’s head, and dips his neck down. 


Lance holds his breath as Keith exhales, hot, against the sensitive skin of his neck. Keith teases him for a moment, just like this lingering close, so close, but never touching. 


When he does place his lips to Lance’s skin, its right above his collarbone. Keith kisses up his neck, nips at the skin right under his jaw. Hard enough to make Lance hiss, but Keith only chuckles. Continues making his way across Lance’s jaw, his cheek, and pausing right above his lips. 


He leans in closely and takes Lance’s bottom lip between his teeth, bites down on it, just light enough not to hurt, just hard enough that Lance can feel the sharp ridges of his teeth. Slowly, Keith lets it roll between his teeth and then releases. In his wake, Lance can taste the familiar, copper tang of blood. 


“Can I kiss you?” Keith whispers, low and a little rough. All Lance does in nod, so easily spellbound by Keith that if he were in his right mind, he’d think he was being pathetic. But right now, all he can think of is Keith. On top of him. Lips hot and wanting and hovering just above his own. 


Keith kisses just like he fights. Hard, intense, a little bit messy— but polished where it counts. He’s rough but practiced as he licks into his mouth and nips at his lips, always taking and taking and God if Lance isn’t going to give


He’s just realizing how alarming that thought is when Keith presses them flush together and grinds down. Sparks of pleasure shoot through him, warming him right down to the tips of his fingers, the tips of his toes. 


Ah—” Lance breaks their lips apart in surprise. “K-Keith?!” Keith merely huffs, like he finds Lance amusing. Keith grinds them together again, and Lance scrambles for something to hold onto until he finds purchase in Keith’s shoulders, digs his nails in. 


This close, Keith smells of sweat and heated skin and gym and it should be gross, by all accounts it should be gross. But below it all, Lance can still make out Keith’s usual, earthy scent. How it mingles with the sweat on his skin. And it’s the furthest thing from gross. 


It’s hot as Hell. 


“Keith…” Another roll, and Lance notices for the first time that he’s not the only one affected by their situation. Keith’s just as hard as he is. “Keith! ” 


“Lance, God…” Keith sighs. “Just… shut up for once.” 


“But… wait… I don’t,” He doesn’t get it. Everything is happening so fast. He’s hardly let himself acknowledge his now, in hindsight, painfully obvious attraction to Keith, and now he has Keith on top of him, and everything about him is so warm. So warm, heat radiating from his skin, burning where they touch, and it’s almost too much. “I don’t—” 


Keith pays him no mind, ruts against him once again. Each time Keith moves, the pressure increases, making it harder and harder for him to think. Through the material of their gym shorts, Lance can feel the outline of him, thick and pulsing. Lance arches into it, throws his head back and lets a moan escape. It’s dry and a little gritty, but it’s also loud and wanton. So much so that the sound of his own voice surprises him. He’s sure he’s digging his nails into Keith’s skin hard enough to break skin, but it doesn’t seem to deter Keith in the least.


Fuck,” Keith grits, panting slightly. It takes him a moment to compose himself before he continues, breathless. “You don’t what, Lance?” Keith meets his eyes. “Do you want me to stop?” 


Lance swallows, thick, feels the skin of his face burn brighter. He shakes his head no. “I-it’s not that…” 


“Then what?”


“It’s just… it’s so fast!” Lance scrambles. “I didn’t think that you were… you were


“Gay?” Keith asks. Lance is starting to find it uncanny how calmly Keith is able to handle himself in these situations when, clearly, he’s out here losing his Goddamn mind. “Into you?” 


Into me! ” He near shouts, completely flustered. 

Into you. 


Into you. 


Into you. 

The phrase repeats itself in his mind. Keith’s... into him? God, he doesn’t think he should be feeling quite this giddy, yet here he is. And he can’t find it in him to be surprised anymore. 


“Well… I’ve always thought you were...” Keith flushes slightly, clears his throat. “...but, you always seemed like you hated me. So I never said anything.” 


“Thought I was what?” Lance asks. Instead of answering him, Keith resumes his movements. Starts rolling his hips and pressing them together in a steady rhythm. 


Lance tries to protest, to insist on an answer, but all words are lost in favour of soft moans he tries to hold back, of short, quick breaths as he’s quickly overwhelmed with pleasure. 


As he continues to move above him, Keith’s movements get messier. Sloppier. Harder. Lance compensates by arching his back, pressing himself as close as he can to Keith. For his efforts, Lance receives a reward in the form of a moan from Keith. Keith pinches his eyes shut, lets his head fall so that their foreheads are pressed together. Lance wraps shaking arms around Keith’s neck, holding him close. Their breaths mingle together in the small space between them every gasp, every moan, every sigh. He’s hyper aware of it, like his senses have cut everything out but Keith, Keith, Keith.


The friction builds, and so does the heat in his gut, his dick, his mind. “Mm… Keith,” he pants. “Mm gonna, mm… I can’t— ah.” 


“Then do it,” Keith grits, shifting his head so he can growl right into Lance’s ear. “Come for me.” 


Lance does. Comes in his shorts just like that, back pressed against the dirty training mats at the gym. But he doesn’t care, not when it feels this good. Not when his own release spurs Keith on, has him groaning beautifully right into his ear. 


Distantly, Lance feels a set of teeth sink into his shoulder, and Keith jerks above him, movements erratic as he follows Lance over the edge. 


Lance suspects… that this wasn’t what Shiro had in mind when he told them to “work it out.”  


Not that he’s complaining.