Work Text:
For as long as Keith can remember, it’s been Keith and Shiro.
In kindergarten, it was them against everyone else in class when they played ‘the floor is lava’. At six, when Shiro started going to the hospital for little aches and pains, it was Keith waiting at home with a package of Oreos and stories to cheer up his best friend. At seven, when Shiro was basically living in the hospital, it was Keith (well, and his dad) sneaking Shiro Oreos in the hospital and coloring books so he wouldn’t get bored.
At ten years old, it was them teaming up to win first place in the science fair or Shiro splitting the pizza he got from all his reading rewards with Keith when Keith didn't get one. Time changed many things, but one thing remained the same—they were a pair.
They were together so much that when Keith turned fourteen and got his third safe sex talk, his parents asked him if he was in love with Shiro. At the time, Keith had done what any teenager embarrassed by feelings would do. He lied.
“Shiro is my best friend,” he’d grumbled, hugging a pillow to his chest. It was the truth, though not all of it, but Keith wasn’t about to talk about his feelings for Shiro to his parents when he hardly understood himself.
It’s been two years since that question and not a day has gone by where Keith doesn’t think about it. He knows the answer now—he’s in love with Shiro. Of course he is. There’s no other word strong enough to describe how good Shiro makes him feel, no other word to describe the level of affection and adoration he has for his best friend.
Over the years, Keith’s had moments where he’s sure Shiro must know how he feels. How could he not when Keith isn’t exactly subtle? Sometimes when Keith is feeling particularly bold, he imagines a world where he simply tells Shiro how he feels.
These moments don’t last long.
Shiro is everything Keith isn’t—class President, Dean’s list, popular. There’s no shortage of people lining up to date him, but Shiro never has time for any of them. He’s too busy being the smartest kid at school and the kindest and the funniest and basically most perfect guy to ever exist.
Even still, Keith knows he could tell Shiro. Shiro knows all of Keith’s secrets: that he wet the bed until he was nine, that he was scared of the dark until he was thirteen, that he still sleeps with the stuffed lion that Shiro gave him for Christmas when they were five. This is just one more thing that Keith knows Shiro would keep between them if Keith asked.
He doesn’t ask.
It’s not even that Keith thinks Shiro would hate him if the feelings weren’t returned. It’s just that he doesn’t know how things would go because he doesn’t know how Shiro feels about him romantically. Shiro never talks about dating anyone, including Keith, meaning that Keith can’t even formulate a possible what if scenario because it’s all too unknown, and if there is one thing Keith hates, it’s the unknown.
So Keith swallows down his feelings and pines away, content to live his life with Shiro as best friends. It’s not exactly a hardship since any time with Shiro is special and he spends all of his time with him.
After they dump their stuffed backpacks, Friday afternoons, are spent unwinding from the week by driving Shiro’s grandpa’s beat-up old station wagon across town. It’s a gas guzzler and it always smells a bit like aftershave and pain cream, but Keith lives for the freedom of sitting beside Shiro with the windows down and the radio on high.
That station wagon might as well be a spaceship for as wild and free as Keith feels, right arm hanging out the open window as he watches Shiro drive. Shiro never speeds, but sometimes he takes the highway just so they can go a little faster, his pretty white forelock blowing in the wind as he whoops and whistles like they're getting away with something and not simply driving to the next town over for a pizza.
The weekends are spent with Shiro, too, hanging out in Keith’s living room eating the endless snacks his dad makes as he and Shiro study or play video games.
At school he spends all his time with Shiro, and out of school he does the same. Their families and friends and teachers all joke they’re joined at the hip. Shiro never refutes it and Keith can never do more than stave off the racing of his heart.
Objectively Keith knows the possibility of Shiro deciding to date someone and therefore someday not spend every moment with Keith is always there because Shiro is a goddamn catch and anyone would be lucky to be near him, but Keith willfully ignores the possibility because it’s not a reality he wishes to entertain. Especially not since he’s too chickenshit to share his own feelings with Shiro.
Burying his feelings is fine, or at least that’s what Keith tells himself. At the very least it feels safe. Shiro never really pays anyone else attention, so the odds of him dating anyone feel too low to entertain as a real possibility.
Which means when Shiro does bring up having feelings for someone, well, Keith is entirely unprepared.
“Hey, Keith, can I ask you something?”
Shiro is leaning back over the edge of Keith’s bed, half hanging upside down because he’s so damn tall now that he doesn’t fit and has taken to laying in the strangest positions the last few months. None of them look comfortable to Keith, but Shiro seems happy, which is all that matters.
“You just did,” Keith says, watching as Shiro licks the filling of an Oreo.
For the last fifteen minutes Keith’s been staring at the wall, afraid if he watches Shiro lick his Oreos he might get a boner. He’s gotten them before and always hurried to assure Shiro it was a broner. Shiro’s never called him on his bullshit but there’s got to be a limit to how stupid Keith can act before Shiro realizes what a pathetic crush Keith has on him.
“Smartass,” Shiro laughs, shoving the entire Oreo into his mouth as he sits up fast enough that Keith tips sideways and ends up awkwardly tumbling into Shiro’s lap. From his vantage point with his face in Shiro’s crotch, he can feel the warmth of Shiro’s body and the rumble of his amusement. He can also see a dick print in Shiro’s jeans, which is quite frankly too fucking much for Keith’s poor little gay heart.
“You knocked me over,” Keith says, unsure why he isn’t moving.
“Your bed is kinda small,” Shiro shrugs, seemingly unbothered by Keith’s current position.
Keith’s bed is a full size, which is more than big enough for just him, but less so for Shiro, or the both of them together. Keith’s thought about asking his parents for a bigger bed, but he’s not sure he has it in him to field the why when the answer is simply that he likes Shiro hanging out in his bedroom.
“It’s average size. You're just huge,” Keith tells him.
“I know, right?” Shiro grins, looking like the cat that ate the canary.
It seems like not that long ago that Keith and Shiro were only a few inches apart, but Shiro had a massive fucking growth spurt over the summer and he towers over Keith now in a way that makes Keith’s insides feel like someone put them in a blender. Equally as affecting is how pleased Shiro is with himself about it all.
As far as Keith is concerned, Shiro was as handsome at thirteen with his big ears and knobby knees and braces as he is now at sixteen, big in ways that have Keith’s body reacting without his permission. All versions of Shiro are perfect, but this bigger version is one that has Keith avoiding his parents as he sneaks to wash his sheets in the basement most mornings before school.
Shiro is big and beautiful and Keith is so fucking into him.
“What did you wanna ask me?” Keith blurts as he scrambles out of Shiro’s lap, desperate for a diversion before his mind or mouth get away from him.
“Oh yeah…that,” Shiro says, reaching for the package of Oreos.
Strictly speaking, Keith’s not supposed to have cookies up here right now. His dad has spent all day making his ten-hour brisket and told Keith not to ruin his appetite. Of course Keith didn’t have a lick of guilt about sneaking Oreos into his room when his dad was in the garage looking for something because the Oreos weren’t for him, they were for Shiro who, hard as it is to believe, is still a growing boy. Keith’s seen Shiro inhale supper at his grandparents before coming over to Keith’s house for a second dinner, so he knows for a fact that Shiro’s appetite quite literally can’t be ruined.
“It’s about someone,” Shiro says, looking uncharacteristically shy.
“Ah, someone, nice and descriptive there,” Keith teases, shoving his socked foot under Shiro’s leg, hoping to relax him. It works.
“Shut the fuck up,” Shiro laughs, throwing his Oreo at Keith, who doesn’t hesitate to shove it in his mouth even though it was half-eaten.
“So?” Keith asks around a mouthful.
“Okay fine, it’s about a guy.”
The Oreo he’s attempting to swallow lodges itself in Keith’s throat and Keith very much regrets eating it.
A guy.
A guy.
Suddenly swallowing becomes difficult, as does breathing normally. Fuck, just being alive is difficult. The words a guy have Keith’s insides shriveling up like the pumpkin plant his dad couldn’t keep alive last year. Keith’s a pumpkin, a withering, half-dead pumpkin.
“What about a guy?” Keith asks, face neutral even as his heart begins to break.
"It's just...there's this guy I like," Shiro starts, fiddling his flesh and metal thumbs together in his lap.
Keith wonders if Shiro has any idea how Keith's heart is breaking at his confession. Probably not. Definitely not. Shiro is too good to ever hurt someone's feelings on purpose, especially Keith’s.
Shiro is good to his core, good in ways their friends and classmates won’t ever understand. He's also the best friend Keith's ever had and if Shiro needs a best friend's advice right now, even about some other guy, then that is exactly what he's going to get.
"So, uh, does this guy know you like him?" Keith asks, attempting to sound casual. He fails, but Shiro doesn't call him on the squeaky dog toy pitch of his voice, thank god.
"I don't think so. I mean if he did, he would've said something by now, I think. Maybe? He’s hard to read sometimes. There are times I swear he feels the same, but then other times I’m not sure."
"Someone would have to be fucking stupid not to like you," Keith says through clenched teeth. This at least is easy to say because it's true.
No one is as gorgeous or funny or smart or kind as Shiro.
No one.
If someone else can't see that Shiro is basically the best catch in any universe, then they're a fucking idiot and don’t deserve him in the first place.
"He's definitely not stupid," Shiro says quietly, pulling the Oreo package into his lap. He doesn't take out another cookie but rather simply pulls the little sticky tab open and shut. "He's so smart, and so sexy."
Sexy. So definitely not Keith, then. Keith's less sexy and more like, well, he's not sure exactly what he is. He knows what some of the other kids at school say, though, when they think he can't hear and while he doesn’t give their opinions much credit and knows he is okay-looking in his own ways, he’s sure as fuck not sexy.
"And does he, uh, go to our school?" Keith asks, his curiosity getting the best of him even as every detail feels like a nail in his heart.
"He does," Shiro confirms, the sweetest little curl of his lips. "He's, um...in my grade. Senior."
As if the words a guy didn't devastate Keith enough, this does, shattering his heart beyond repair. Whoever this guy Shiro likes is, apparently just thinking about him can make Shiro smile like this. It's the most painful and beautiful thing Keith's ever experienced because it’s exactly what Shiro deserves.
"He's lucky," Keith whispers, positive that he will swallow down every unshed tear and support Shiro any way he can if this guy makes him happy.
"I'm lucky," Shiro counters. "He's so gorgeous and funny even though he doesn't always realize it. He's selfless and thoughtful and he’s bold and brave and just, god, I like him so much."
Keith wants to hate this guy, who sounds too fucking perfect to be real, but he can't. He can't hate anything or anyone that makes Shiro's face light up like this.
"So, uh, what's the problem then?" Keith asks.
"Ah yeah, that. So the thing is....I don't know how to ask him out."
"What do you mean you don't know how to ask him out?" Keith asks incredulously.
"Well, I mean I've tried asking him to watch a movie or out for pizza. Once I even invited him to mini golf, but he always thinks I mean as friends."
"He sounds like a moron then," Keith grumbles, torn between wondering when Shiro did all this with some other guy without Keith noticing, and being further devastated that Shiro is inviting some guy out to do all of their favorite things.
"He's definitely not a moron," Shiro insists. "I've started to wonder lately if maybe...maybe I'm seeing things I want to see instead of what's really there. What if he's just trying to let me down gently?"
"If someone out there doesn't look at you and think you're the best fucking thing to ever happen to them, then they don't fucking deserve you," Keith says with a lot more force than he means to.
"Keith."
"I mean every fucking word," Keith says, eyes blazing as his cheeks go red. This is a dangerous line he’s walking, but he would walk into fire if it meant assuring Shiro of his worth.
“You think too much of me.”
"You're the best fucking person I've ever known, Shiro. If that's not what someone else wants, then they can fuck off. You're better than them, you're better than everyone."
"Not everyone,” Shiro says. “Not him."
"Him too," Keith asserts, unable to keep a hint of jealousy from his tone. "If he's too stupid to see how fucking beautiful and smart and perfect you are and he doesn't even realize when you're asking him out, then he clearly doesn't deserve you."
"Keith, how should I ask him out?" Shiro asks.
"Just say ‘hey idiot, I've been asking you out for weeks. You wanna date me or not?" Keith grumbles, crossing his arms.
For some reason this advice makes Shiro's smile grow as he leans forward and says, "Hey idiot, I've been asking you out for weeks. You wanna date me or not?"
Despite his assertions to hide his own feelings, Keith can feel his lips turning down in a pout, the disappointment he feels at imagining Shiro telling someone else this damn near staggering. Keith will get better at pretending his heart isn’t broken, but it will take time.
"Yup, just like that," Keith says, trying to smile. It definitely feels like more of a grimace.
"No,” Shiro says. “I mean Hey idiot, I've been asking you out for weeks. You wanna date me or not?"
"Perfect. Now you can say this to your mystery guy."
"Keith," Shiro tries, but Keith's brain is doing a strange buzzing thing to try and stop him from processing his feelings. He’s pretty sure his central nervous system is shutting down if he’s honest.
"You can go find him right now if you want,” Keith tells him. “I'll make an excuse for dad about the brisket."
"Oh my god," Shiro groans, throwing the Oreo package onto the floor as he gets on his knees, crawling across the bed and directly into Keith's lap.
Keith's ears continue to buzz for an entirely different reason as Shiro's thick thighs bracket his scrawny ones.
"Hey idiot," Shiro says, taking Keith's face between his hands.
"Oh my fucking god," Keith gasps, reality finally settling in.
Shiro has been talking about him.
Shiro has been talking about him.
"Hey idiot,” Shiro says around the world’s most blinding smile. “I've been asking you out for weeks. You wanna date me or not?”
"Oh my god," Keith mutters, the buzzing in ears replaced by a tingling sensation spreading throughout his entire body. "Shiro."
"Yeah, Keith?"
"Shiro, the movies?"
Shiro nods.
"And the pizza place? And the mini golf place across town?"
Shiro nods again.
"Oh my god, your new jacket and the haircut last Friday," Keith says, the past slamming into him like a shovel to the face.
"I was um, you know...dressing up for you."
"Oh my god," Keith nearly screams.
In hindsight it seems obvious, but Shiro’s always taken a lot of pride in his appearance, so when he’d shown up with a fresh undercut and a new jacket blushing at Keith, Keith had stupidly just thought Shiro was pleased at how hot he looked. He can’t believe all that was for him.
"Is this a good ‘oh my god’ or a bad ‘oh my god’," Shiro asks.
"Good," Keith assures him. "Oh my fucking god, good."
Shiro huffs out a laugh, his smile sweetening as he reaches up to brush some of the hair out of Keith’s face. "Hey idiot, can I kiss you?"
"Yes," Keith nods. "Fuck, please do."
Settling himself in Keith's lap, Shiro tips his face down. It makes Keith’s brain short circuit. Or at least that’s the only excuse for what he blurts next.
"This is my first kiss," Keith whispers. "I might be bad at it."
"Mine too," Shiro tells him. "We can practice."
"Practice," Keith echoes, his entire body shuddering with pleasure when Shiro's pillow-soft lips press against his own.
Kissing Shiro is a goddamn revelation. Yeah, it’s a little awkward because Keith is awkward and they both don’t know what they’re doing, but it’s also perfect because it’s Shiro.
He doesn’t think the kiss can get better, but then Shiro lets his tongue slip into Keith’s mouth and Keith nearly loses his fucking mind, his own hands wandering as he moans into the kiss.
“Keith,” Shiro says, somehow managing to make Keith’s name sound like something otherworldly as he twines one hand around the back of Keith's neck and the other moves down to his tummy.
Keith’s own hand is just slipping down the back of Shiro’s jeans when Keith’s bedroom door unexpectedly flies open to reveal his dad standing in the doorway, wearing his favorite "Kiss the Cook" apron and a rapidly dwindling smile.
"Hey, dad," Keith croaks, peering over Shiro's shoulder.
Shiro makes a pitiful sound, his embarrassment evidenced by the way his ears go tomato red. "Hi, Mr. Kogane," Shiro mumbles, lifting one hand up in a sort of mock wave as he buries his face in Keith's neck.
"Right, um, so um, that is...why are there Oreos in here?"
"What?" Keith asks, realizing his left hand is still shoved halfway down the back of Shiro's jeans. Keith’s unsure if moving it will make things better or worse, so he leaves it. If he’s going to die of embarrassment, at least it’ll be with fingers on Shiro’s warm ass.
"Oreos," his dad repeats, waving his spatula towards the discarded package on the floor. "I told you not to ruin your dinner."
"Oh, they, um, were for Shiro,” Keith says, unsure how the fuck he’s not dying on the spot.
"Oh, well, that's all right then," his dad says, ever the softie where Shiro is concerned. Back when Shiro was 6 and in the hospital, it was Keith's dad making food for Shiro and his grandparents. Shiro's better now—healthy—but his dad's need to feed Shiro hasn't subsided in the last decade.
"Right, well, uh, just came up here to tell you dinner is ready."
"Dinner," Keith repeats, unsure what the fuck is happening and why he's not getting a lecture about propriety. His parents are shockingly sex positive, but that doesn’t mean Keith’s allowed to have a boy in his room, even if that boy is Shiro.
"Yeah, be downstairs in 10 minutes. You too Shiro. And, um, no more Oreos with the door shut."
"Oh my god, dad."
"You heard me. No Oreos of any gender, or you know, gender non-conforming. Just...no Oreos with the door shut," his dad says, waving the spatula around a few times before slowly backing away.
It's only when Keith can hear his dad's footsteps descending the staircase that he drops his head back on the pillow and groans loudly.
"No more Oreos," Shiro laughs, his embarrassment apparently replaced by amusement now that Keith’s dad is gone.
"Dad compared Oreos to sex. Or at least I think that's the euphemism he was going for. I'm never gonna be able to eat an Oreo again."
"More Oreos for me then," Shiro says, rubbing his nose into Keith's neck like a fucking puppy. "Also, I wouldn't mind your Oreo should you ever decide to share."
"Stop talking about Oreos," Keith groans, tangled in some mixed state of elation, embarrassment and arousal. "Not when we have to go downstairs and eat across from my parents."
"I can definitely eat," Shiro says, removing his face from Keith's neck to pat his tummy.
"You can always eat," Keith agrees, surprised at how not awkward things are between them.
"I'm a growing boy," Shiro beams.
"You literally can't grow anymore. You won't fit through the doorway."
"Watch me," Shiro winks, which is far sexier than should be allowed, considering the recent turn of events. "Speaking of Oreos, the Foster Freeze downtown has a new Oreo shake. I could, uh, take you to get one. Like, as a date. Just so we're clear."
"I would definitely like an Oreo shake," Keith says. "As a date."
"Good," Shiro grins, reaching for Keith's hand and holding it in his own.
"Good," Keith echoes.
"Hey, Keith, can I ask you one more thing?"
"Yeah, anything," Keith says, marveling at just how big Shiro's fingers are against his own.
"How do you tell a guy you love him?"
Keith splutters, tackling Shiro to the bed for another awkward but deeply satisfying kiss.
In the end, they're definitely late for dinner.
