Work Text:
Lance seems like he could’ve been a dancer in another life.
After all, Keith has been watching him dance all night, weaving effortlessly in and out of the crowd and charming everyone in his path like it’s second nature. He was born for this sort of thing, for all the parties and the balls and the glitz and glam that come with being hailed as an intergalactic hero. All he has to do is look in someone’s general direction and they’ll start fawning over him.
Keith used to hate it. Took him a while to realize that he was just jealous—not that he has any right to feel that way at this point.
It’s no secret that they’ve always had this unspoken sort of… thing, between them. They’ve been dancing around it since the beginning, toeing that line between friends and something more, but never truly acknowledging what that meant. That was easier to justify when they had the constant threat of death looming over their heads, but now that the war is over, nothing stands in their way. Lance has certainly made his own feelings increasingly clear, this thing between them becoming less and less unspoken every day.
Yet Keith can’t seem to stop running.
He idly swirls the leftover drink in his hand, biting back a sigh as he watches the alien Lance is talking to start to giggle. Their antennae glow when they experience particularly intense emotions, similar to Alteans and their marks. Hers have turned bright orange. Lance is either oblivious or is very tactfully ignoring it.
Keith hardly moves when Shiro appears at his side, slinging an arm around his shoulder and humming conversationally. “He looks pretty good, huh? Like some kind of ice prince or something.”
“Yeah,” Keith murmurs, a split second before his brain can catch up. His cheeks burn as he wheels around and punches Shiro in the chest, who snorts out an affronted laugh.
“Ow, what?” He makes a big show of stumbling, even though he’s grinning. “You were staring!”
“Was not,” Keith grumbles, but his traitorous gaze has already started to drift back in Lance’s direction. He’s moved on from the last alien and has already been stopped again by his next adoring fan. Lance’s hands are moving animatedly through the air, eyes sparkling as he regales them with one of his many heroic (and likely dramatized) stories.
It’s so distracting that he almost forgets that Shiro is still standing right next to him. “So…” Shiro begins, clearing his throat. Keith can already feel himself bristling. “Is something going on that I should know about? You’ve been sulking all night.”
Keith scoffs. “I am not sulking.”
“Right, sorry. What are the kids calling it these days? Brooding?”
“I will punch you again,” Keith threatens, and nearly does when Shiro snorts again.
“I’m just saying. You don’t exactly look like the most approachable guy.”
“Good.”
“Hey.” Keith blinks as Shiro steps into his direct line of sight, effectively blocking his view of Lance. He plants a hand on his shoulder and tilts his head a little, studying Keith in a way that makes him feel far too seen. Shiro’s voice takes on a much gentler tone, all traces of teasing quickly vanishing. “Seriously. Is there a reason that you won’t just… you know. Walk up and talk to him?”
Keith takes immediate issue with what he’s implying and opens his mouth to protest as much, but all that comes out is a defeated sigh. There’s no use arguing. He’s spent all night trying to work up the courage to talk to Lance and he can’t do it, even though it should be the simplest thing in the world.
The thing is, he knows how he feels about Lance. He spent nearly two years beating those feelings back with a stick before finally accepting that they weren’t going anywhere. And he already knows how Lance feels about him, too—that much has been made crystal clear. The math all works out. Keith already has the solution.
So why is he still so scared?
“You could ask him to dance?” Shiro suggests softly.
Keith stares down at his own dumb reflection in what’s left of his drink. They both know they’re talking about a lot more than just dancing. It’s not like Lance has given him some sort of ultimatum, but the ball has been in Keith’s court for a while now. At some point, Lance is going to get sick of waiting. “It might be too late,” he mumbles.
“And it might not be,” Shiro counters immediately. “But you’re right, he’s not going to wait around forever. Eventually you’re going to lose your chance to ask him first.”
“Ask who what?”
Keith’s head snaps up, his cheeks going warm in a single instant. As if on cue, Lance has suddenly appeared directly in front of him, annoyingly handsome ice prince get-up and all. And really, he should take that as some kind of sign from the universe, right? But instead of seizing the opportunity that’s fallen right into his lap, he totally freezes. To Shiro’s credit, in this particular moment he chooses mercy.
“Oh, I was just telling him about something Adam said to me the other day,” he answers smoothly, clapping Keith on the back just a little too hard. He tries not to choke. “What’s up? Are you having a good time?”
Lance quirks an eyebrow at the near-empty drink in Keith’s hand. “Not as good as Keith, clearly.”
It’s exactly the dumb, purposely antagonizing comment that Keith needs to jumpstart his brain, and he takes the bait immediately. “Whatever. I haven’t had that much.”
“I’ve seen you drink at least two already. Leave some for the rest of us, would you?”
“Ha, ha. Did you actually need something, or did you come over here just to bother me?”
“Oh, just to bother you,” Lance quips with a pleased smile, and Keith rolls his eyes. “One hundred percent. I hope you’re not too buzzed to dance, though.”
Keith blinks, brow furrowing. What? says his brain. “What?” he echoes.
Lance smiles. “I said, I hope you’re not too buzzed to dance.” Keith stares as he extends one hand toward him, palm facing upward. “With me.”
Ha, that’s funny. Is Keith hearing right? Maybe he is too buzzed. There is literally no way he’s already living through the very exact scenario that Shiro predicted not even sixty seconds ago. He completely bluescreens, staring at Lance for longer than is probably normal.
And for some reason, the best he can finally come up with is: “You’re kidding.”
Lance’s bravado immediately falters, the smile dropping from his face. Shiro sucks in a breath, either to suppress a sigh or to hold in his laughter, either way at Keith’s complete and utter idiocy. “Okay,” Lance mumbles, lowering his arm. “You could’ve just… said no, or whatever. But, okay.”
It’s not until he turns to walk away that Keith snaps back to his senses, panic shooting up his spine as he instinctively reaches out to grab hold of him. “Wait! Lance, I didn’t mean—”
His mouth clicks shut when Lance instantly tears himself away, stopping in his tracks only to shoot a withering look at him over his shoulder. He swears the temperature in the room drops a few degrees, the air around them going deathly still. Out of the corner of his eye, he sees Shiro start slowly inching away from him, probably trying to escape the direct path of Lance’s destructive gaze.
Because Lance doesn’t look angry— that Keith could deal with—he looks hurt. Something that Keith always swore to himself he would never make Lance feel, something he thought he could avoid by similarly avoiding his feelings. Which as it turns out, has backfired rather spectacularly. Lance lets the weight of his gaze sink in, then spins on his heel and walks away.
Keith stares silently after him, clutching his forgotten drink tightly against his chest. His heart is suddenly racing a mile a minute but his entire body feels frozen, as if it’s entered fight or flight mode but already settled on the latter. Which is entirely unlike him, isn’t it? And maybe that’s the problem, and exactly why Lance just reacted the way that he did. Because Keith has spent the last two years running from his feelings instead of fighting for them as he would for anything else. That can’t feel good from Lance’s perspective, can it?
Oh. Oh no.
After a long, tense moment, Shiro clears his throat, chuckling nervously. “Huh. Storming off after an argument is usually more your style.”
Usually Keith would snap back immediately, even if Shiro was just trying to lighten the mood. But right now he can’t seem to find it anywhere inside himself to be anything other than utterly panicked. His throat closes in on itself as he looks up at Shiro helplessly, his chest growing tight. Lance gave him one last chance to finally do something about this unmistakable, perpetual and ever-growing thing between them, and he just stomped it into the ground.
Shiro’s expression immediately softens with understanding. He reaches out and plucks the glass from Keith’s hand, gesturing his head in the direction that Lance had gone. “Go get him.”
Keith doesn’t need to be told twice. “Okay,” he breathes. He looks out into the ballroom, and as he does is lucky enough to catch just a glimpse of Lance’s cape slipping away through the crowd. “Okay,” he says again, and takes off before he can think too hard about it.
Lance moves fast. If it were anyone else, they probably would have already lost him in the fray. But Keith has spent months, if not years, perfecting the art of picking Lance out in a crowd. A lot of the time (most of the time, all of the time), Lance is the only person in the room worth looking at anyway. He should have told him that sooner. He should have told him a lot of things, though now he might not get the chance to.
“Lance!” Keith calls, but he’s not close enough, or maybe Lance hears and ignores him. Laughter erupts from the group he’s passing and Keith all but crashes into the person who stumbles back into him, muttering a half-hearted apology before pushing his way through. “Lance, wait!” He just manages to spot the balcony doors at the end of the banquet hall sliding shut and he makes a beeline for them, clenching his fists and swallowing down the anxious pounding of his heart.
The moment that he steps onto that balcony, Lance is spinning around to face him. “Go away.”
“No,” Keith retorts instinctively, sliding the door shut behind him. “I need to talk to you.”
“Oh sure, now you need to talk to me,” Lance answers dryly, crossing his arms tightly over his chest. “Because we’re only ever allowed to talk when it’s on your terms, right?” Okay, ouch. Keith definitely deserves that.
“Look, I’m sorry,” he tries, moving to cross some of the distance between them and sighing when Lance just scoffs, turning his back in favor of the balcony railing. “That whole thing back there was so dumb. My fault, not yours,” he adds quickly, when Lance turns just enough to level him with another look. “I was just caught off guard.”
“Don’t make excuses, Keith. I’m not clueless, I can read between the lines.”
“What? That’s not—”
“Keith,” Lance warns. His gaze is hardened when he turns back around, eyes steely, but his voice gives him away. “I mean it. Don’t do this to me.”
Keith’s heart jumps into his throat. His lungs don’t feel like they’re getting enough air. “Don’t do what?” he asks quietly.
Lance swears under his breath. His knuckles turn white where he grips the banister, his voice wobbling. “Just leave me alone.”
“No, Lance, I—”
“Keith, would you just stop?”
“Would you just listen! ” Keith blurts, becoming desperate. And apparently it works, because the building storm swirling behind Lance’s gaze actually seems to falter for a split second, which is all Keith needs to spit his words out. “I’m sorry, okay? I didn’t mean to react the way I did, it was—I mean, Shiro had just said something to me about how I was going to lose the chance to ask you first.”
Lance goes quiet for a moment, eyeing him suspiciously. “Ask me what?” he answers finally.
Keith swallows. It feels silly almost, holding his hand out to dance the same way that Lance did for him just a few minutes earlier. But now is really not the time for hesitation, no matter how small he may feel or how trite the gesture may seem on its face. This has always been about a whole lot more than just dancing— and it’s time for Keith to stop running and finally face the music, as they say.
So he takes a deep breath, and he holds out his hand.
Lance’s gaze zeroes in on the movement before it’s even complete. Something about his expression changes, eyes flashing with an emotion Keith isn’t sure he can name. And then he laughs, the sound of it weary and hollow as his eyes flit away. “That’s not fair, Keith. After everything, you can’t just—there’s no way you expect me to—”
“Please,” Keith says quietly.
Maybe it’s the renewed desperation in his voice, or the probably pathetic look on his face, that makes Lance stop to really look at him. Keith can tell he still wants to be angry, and he has every right to be. But after a long, tense moment, that same shift in Lance’s expression gives way and he deflates, releasing a small sigh before slowly, deliberately placing his hand in Keith’s.
The touch is electric. Keith has held Lance’s hand a thousand times before—helping him off the ground in battle, pulling him up from an otherwise deadly fall, even dancing together while undercover—but this is so much different. There’s no underlying goal, no secondary cause. Just them. Just a choice they’ve both made, rather than a means to an end.
Keith takes a deep breath and leads them out into the middle of the balcony. His chest feels like his heart is trying to claw its way out from the inside, but he forces himself not to shy away from Lance’s gaze. He tentatively settles his other hand on Lance’s waist, Lance puts his on Keith’s shoulder, and then they start to dance. It’s nothing special, just a gentle back-and-forth sway to the sound of the muffled music emanating from inside the castle, but it still makes Keith’s face warm.
Eventually he swallows again, tightening his grip on Lance’s hand to make sure he has his attention. “I’m sorry.” Lance watches him but doesn’t say anything, clearly waiting for him to elaborate. Keith still can’t quite interpret the look on his face, and as much as that scares Keith, Lance deserves the closure. He clears his throat and takes a deep breath. “You’re right. I haven’t been fair to you. I know you’ve been trying to have this conversation for a while, while I’ve been trying to avoid it, and I don’t have any excuse, it’s—” He releases a long, slow breath, gathering himself. “I’ve just been scared.”
Lance quirks an eyebrow, huffing a small, disbelieving laugh. “I thought you weren’t scared of anything.”
Keith goes quiet for a moment. “That’s not true,” he says softly. “I’m scared of losing people I care about.”
Lance abruptly turns his face away, his hand going stiff in Keith’s hold. It takes him a second too long to respond. “You don’t mean that,” he whispers hoarsely.
“Yes, I do,” Keith answers, without skipping a beat. There can be no more uncertainty here. “I care about you, Lance. I don’t want to lose you because I was too stupid to tell you before.”
“But you keep running,” Lance argues, his voice still wobbly and unsteady.
“And you’re the reason I keep coming back!” Keith counters immediately, gripping Lance’s hand and stepping as close to him as he dares. “Lance—”
“But not the reason you’ll stay, right?”
Keith stops in his tracks. Lance is finally looking at him again, this time with every single one of his emotions on full display, eyes full of hurt and confusion but mostly just want. Like for once in his life, he wants to be wrong—needs to be wrong. Keith’s chest aches. “That’s not true either,” he breathes.
They’ve stopped dancing. Lance grips Keith’s shoulder like a lifeline, but otherwise he doesn’t move. “Then prove it,” he challenges quietly. Pleads, almost.
And Keith takes that personally. He wraps his arm around Lance’s back, pulls him in to close the remaining distance between them, and kisses him.
Lance melts into his hold immediately, winding his arm around both of Keith’s shoulders as his entire body wilts with what Keith could only describe as relief. He twists his fingers in the back of Lance’s shirt, presses as close as is humanly possible and kisses him like it’s all he’s ever wanted (it is), because he’s desperate to do everything in his power to convey to Lance just how much he means this (he does).
After a long moment they separate, breathing hard even though they really shouldn’t be, still holding tightly onto each other. Keith has to take a moment to blink back to the present. His heart has skyrocketed out of his chest and is already lost somewhere in the endless sea of stars above them. There’s poetry in there somewhere, probably.
“Is that proof enough for you?” he asks breathlessly.
And Lance finally cracks. The corner of his mouth quirks up into the small, mischievous smile that Keith knows all too well, and he hums. “It’s a start,” he murmurs, then grips the lapels of Keith’s jacket and drags him back in for another kiss.
