Work Header

Final Breath

Work Text:

Shiro had never been so thoroughly fucked in his entire life.

At least he thought he hadn’t. He had studied until 7 for an exam at 8 before taking a 20-minute nap that quickly turned into a 40-minute nap that quickly turned into a 50-minute nap that quickly turned into oh shit, I’ve gotta go.

He had been on the list to go to Kerberos, Kerberos, a moon in the orbit of Pluto, and a blood test had ruined his chances of ever getting over 35,000 feet off the ground.

But he was never fucked like he was right now, staring at the bloody flower bud floating on the surface of the toilet. The other blood he had coughed up swirled around it in a cloud as the bowl slowly became red.

Shiro knew who it was for too, and he should have thought twice about talking with the ghost that lived in his living room and his bedroom. AKA, the two places where Shiro spent most of his time were the two places that this infuriatingly handsome ghost spent all of his time.

He had first seen a glimpse of him in the corner of his eye when he walked past the full-length mirror that Lance had gotten him as a housewarming gift. Shiro’s first reaction was to twist around and reach blindly for the aluminum baseball bat he kept against his bed.

His second thought was that he was crazy; no one was there. The space he had been standing in was as empty as it should have been, and Shiro felt like he was in the middle of some weird and twisted horror story.

He turned back around, looking at his reflection in the mirror, and there, there was a person, maybe someone in his late teens? But he was undeniably there and in Shiro’s house.

He didn’t scream. No matter what Keith, that was his name, Keith, said. But no matter what happened, Keith definitely laughed at him, and the mirror may or may not have shattered. That was something he wasn’t looking forward to telling Lance.

Keith had stayed around after that, curious about Shiro’s missing arm, and then curious about the scar over his nose, and then curious about just Shiro.

And screw him if he hadn’t been curious right back. But then his curious glances turned into lingering ones, turned into fond ones, turned into loving ones. But now he was staring at a bloody bowl with the little immature bud floating along the surface of the water, and it was for Keith.

It was for Keith and his goddamn curiosity.

It was for Keith the ghost who couldn’t love him back.

Shakily, he got to his feet and flushed the toilet. He wiped his mouth with the back of his hand and winced at the smear of blood there. The glass in his hand shook as he filled it with water and drank, washing the blood and iron out of his mouth. It clinked against the countertop as he set it down and washed his hands, scrubbing extra hard at the part of his skin where he had wiped his mouth.

Keith couldn’t know.

“Did you die in there?” Keith was peeking into the bathroom from the living room, standing at an invisible line drawn through the center where the edge of the house had been when he died. “Because then, I need to show you some ghost tricks.”

Shiro scoffed, trying to smile as he walked back out into the room. Trying to be normal. Nothing was wrong if he acted like nothing was wrong. That’s how emotions and feelings and illnesses worked right? Ignore love and the flowers would disappear, right?



As soon as Shiro crossed the threshold, Keith scowled. “What’s wrong?” He walked around Shiro in circles, trying to see into his soul or something. Was that a thing ghosts could do?

“Nothing’s wrong, Keith,” he lied. He smiled easily and sat down at the couch, but damn it, there was a tickle at the back of his throat. No, it wasn’t a tickle. It was like something had him around his throat.

The ghost floated over to him. Suspended in the air and parallel to Shiro with his feet up in the air behind him, Keith reached forward and poked Shiro’s chest. “You’re not. I can tell.” He frowned sadly. “It’s like you’re… dying.”

His fake smile faltered for a second. “Didn’t you say we were all dying?” He leaned to the side and reached for a remote to turn the TV on. Keith reached forward, his hand passing through Shiro’s arm and chilling him to the bone.

“Yeah, it’s like… constant, you’re always dying at a constant rate, but today you dropped.” He frowned more and moved to block Shiro’s view of the screen. Ice crept over his forehead as Keith held the back of his hand to it.

He shook his head and brushed Keith’s hand away. “I said I’m fine.” And the hand around his throat tightened.

He turned to the side, coughing into his elbow and squeezing his eyes shut because he knew that Keith would look at him with that knowing disappointment. Sure enough, as soon as he could breathe again, a small flower hidden away in his palm, Keith poked his freezing finger into his chest. “Liar,” he hissed. And he almost sounded… sad.

Guilt burned through Shiro.

“I’m fine, just a little sick,” he said and smiled again. He was smiling too much, damn it. But that’s what people do when they’re alright. They smile. They smile and they grin and no one suspects anything.

Except for Keith.

Keith who narrowed his eyes and floated forward as he looked at Shiro’s fist, closed so tight that the blood left his fingers and knuckles. “What’s that?”

He considered hiding it again. He really did. He thought about slipping it between the couch cushions or into his pants pocket, but he couldn’t. Slowly, he held out his hand and unfurled his fingers, revealing the crushed flower bud surrounded by a splattering of blood.

Shiro watched Keith’s face carefully as it twisted into something that looked like… grief? His eyes lost some teasing concern that had been there earlier, and he looked a little more translucent than normal.

“Oh.” It was monotone like he didn’t care. “How long?” he asked. If ghosts could choke up, Keith would. “I mean, that’s probably a stupid question; it got bad today. Who’s it for? The cute guy that comes here?”

Shiro’s mouth went dry as his eyes scraped over Keith’s face. “Lance?” he whispered. “You think I have this for Lance?” His fingers curled back around the flower before he tossed it to the side. “No, he’s great. He’s amazing, and a great friend and I do love him, but not… not like this.”

“Then who?” Keith asked, looking at the crumpled flower with a small frown.

Shiro pushed himself up, going to the kitchen. “Don’t worry about it.”

Keith blocked his way, and although Shiro could walk through him, he stopped. “What do you mean ‘don’t worry about it’?!” Keith demanded. “I’m definitely going to ‘worry about it’, Shiro, I--” He closed his mouth and glared at him. “You aren’t supposed to die.”

He shrugged. “Everyone dies. You did.” He walked around Keith and into the kitchen. “Why should I be any different?” Maybe dying was actually a better idea; then he could stay with Keith forever. He wouldn’t be able to leave. That didn’t sound so bad to him. Trapped forever with the person you love? Perfect.

Keith followed behind him as he frowned. “You’re different,” he breathed. “You aren’t supposed to die now; that’s my point.”

“Well then, when am I supposed to die?” he asked, spinning on his heel. “How is today any different than tomorrow? How is tomorrow different than next month?”

You’re the one asking me that?” he asked. “What the hell, Shiro? You get more time with people who love you! There’s no guarantee you’d come back as a ghost, and if you didn’t, then what would I do?”

Shiro stopped, the words he was about to say dying on his tongue. “You—what do you mean what would you do?”

Keith opened his mouth and then closed it again. “I mean… what would I do?” He brought hands up in front of him and crossed them as if he were cold or shy, neither of which were typically things that Keith did.

In the silence, Shiro coughed into his palm, bracing himself of the counter as his knees went weak. He heaved, closing his eyes as another flower bud made its way past his lips and into his hand.

It wasn’t supposed to get this bad this quickly. He was supposed to get worse and worse, and then the petals would suffocate him from inside his lungs. He wasn’t supposed to cough up three flowers in thirty minutes.

Keith was at his side almost instantly. “Shiro!” He floated in front of his face. “Just—Just confess to them.” He sounded sad… no, not sad. He sounded… reluctant?

“It’s not that easy,” Shiro said weakly as he rightened himself. “I can’t just—just tell.”

Keith clenched his jaw. “You can and you will because I won’t let you die.”

“Why do you even care!?” Shiro demanded. “You’re just the ghost that lives in my house who can’t even love me back!”

Keith looked like something slapped him. He looked like someone reached into the astral plane or whatever he was on and slapped him as hard as they could. “Me?” he whispered, broken.

He nodded back. “You.”

Shiro turned to leave and head to the bathroom, already feeling another bloom crawling up his throat.

He didn’t make it.

He slammed into a wall of cold, a wall of Keith. Because right then, Keith was in front of him, and he pressed his lips against Shiro’s and he was solid. So Shiro pressed back, opening his mouth to slot their lips together in the best way possible, and it was like he was kissing ice, but he couldn’t bring himself to care.

He breathed in, through Keith, which was odd. Their lips and tongues were moving together, and Shiro knew he was drooling because he could breathe, but Keith was solid.

Keith was solid enough to press him against the wall of the kitchen and groan into his mouth. He was solid enough to pull back and bite at Shiro’s bottom lip, making it purple. He was solid enough to grind forward into Keith, and he let the ice envelop him.

He gasped into Keith’s mouth and pulled away as his head thudded against the wall. “You goddamn idiot,” Keith cursed as he pressed his lips to Shiro’s jaw. The surface of his skin was numb especially where they pressed up against each other, and he shivered from something more than the cold as Keith’s fingers trailed up his arms. “I’m just the ghost who can’t love you back?” he hissed as he tried to pull Shiro’s shirt up off of his body, but it phased through his hands.

Shiro groaned and pulled his shirt off, exposing his broad chest, which Keith immediately fondled. “I’m gonna show you just how well I can love you back,” he growled. He squeezed Shiro’s pecs in his hands and his nipples hardened from the chill. Keith mouthed around one as he tweaked the other with his fingers. “Because it’s a lot, Shiro. So much for so long.”

“But—” Keith cut him off with a hand over his mouth.

“No talking,” he purred against Shiro’s chest, and was he getting… warmer?

Keith pulled him away from the wall and maneuvered them into Shiro’s bedroom, one of the few places he could be. And damn, was that convenient. He pushed them onto the bed and straddled Shiro’s hips, keeping him pinned down as he bent to kiss him again.

Somewhere between the wall and the bed, Keith had shed Shiro’s pants, and he trailed his fingers along his now bare thighs, leaving numb tracks in their wake. It was cold, but it wasn’t as cold as it was earlier. He moved down Shiro’s thighs until he sat right at his shins.

Shiro shivered and propped himself up on his elbows to watch Keith as he pressed his palm into the growing bulge between his legs. He sighed and let his head fall limp between his shoulder blades. “Shiro,” Keith warned as he gripped him through his boxer briefs. “Look at me when I’m touching you.”

The cold was long forgotten, but Shiro still shivered despite how hot he was inside. He slowly raised his head back up to watch Keith, who leaned over to mouth at him through the fabric.

It wasn’t his imagination. Keith was getting warmer as time progressed. Shiro’s dick, although the cold was a shock, quickly hardened in his underwear, leaking precum and staining the gray fabric dark. And it was fantastic.

He bucked up into Keith’s mouth, trying to get more of his warmth and friction. Damn him if he was going to cum in his pants like a teenager. He didn’t have to worry because as soon as he moved, Keith pressed his hips down, his fingers pressing around the bones hard enough to bruise.

“Was it not clear?” he asked, pressing down harder even though Shiro had done nothing else. “You listen to me. You only move when I move. You don’t speak. You watch. Watch as I wreck you.”

Shiro was broken. That’s the only explanation. He was broken. Or maybe he was dead. It was probably both, and he was in hell because Keith the devil knelt in front of him.

Slowly, he nodded, and he watched Keith’s animalistic smile spread across his face. “Good boy.” He yanked Shiro’s underwear down, exposing his half-hard cock to the air, and Shiro whined.

Keith bent at his waist and licked from the base of his cock to the tip, and holy fuck, his mouth was hot. It was almost painful how quickly he hardened completely.

He took the tip of Shiro’s dick into his mouth and made eye contact as he sunk down, not stopping until he reached the base. “F-- Fuck,” Shiro moaned. Apparently, Keith didn’t have a gag reflex. He also didn’t need to breathe, and honestly, why had Shiro thought keeping anything in was—

Keith pulled up, closing his eyes as he hummed. He worked his way up and down his cock, taking his sweet time. Shiro could feel himself getting closer embarrassingly fast as the warmth surrounded him over and over. He tried to buck up into Keith’s mouth, but his icy fingers kept him still, pressed against the mattress below them.

He sighed, letting his eyes drift closed. He reached his flesh hand down, pressing against Keith’s head and tangling his fingers in the freezing locks as he tried to force him down. Keith let him for a few seconds before he pushed back against his hand and pulled off his cock.

“What did I tell you?” he demanded, a glint in his eyes.

“Keith,” Shiro sighed, letting his head fall to the pillows.

He reached a hand down, wrapping it around Shiro’s cock tightly. He yelped and jerked upward, gasping. “Fuck!

Keith’s grip tightened and, if it was possible, chilled even more. “What did I tell you?” He blew cold across the head and Shiro whimpered. “You don’t move.”

He pushed him back into the blankets and wrapped his lips around his cock again. He smiled unsuccessfully around Shiro and he moaned, panting. Keith pulled back, mouthing along his shaft and sucking at the thin skin there.

Returning to the tip, he slipped his tongue in the slit there as he sucked.

“K—Keith,” Shiro stuttered, twisting his hands in the sheets, the prosthetic snagging on threads. “Fuck, Keith if you—Ah, damn. If you keep going—Keith, I’m gonna—gonna—”

He pulled off, wrapping his hand around the base of his cock to stop his impending orgasm. “You take what I give you,” he said as he squeezed tightly. “Not a bit more.” He crawled up, straddling Shiro’s hips as he kissed him and ignored his straining erection.

Keith forced him back into the pillows, grinding against his abdomen and groaning into Shiro’s mouth. “I love you, Shiro,” he mumbled after he pulled away long enough to speak. He pulled Shiro’s forelock, exposing his neck and causing him to gasp. Keith kissed him again, and he wrapped an icy hand around his neck.

Shiro groaned, the sound instantly swallowed by Keith’s mouth. He ground their hips together, and they moaned. “Fuck, Shiro,” Keith whispered and bit the lobe of his ear, tugging on it. “I want to be inside you.”

He gasped and arched up into him. “God, Keith,” he panted. “Please.” Back arching as Keith’s fingers trailed down his chest, passed his aching cock, and pressed against his hole. He whimpered and spread his legs subconsciously.

Keith kissed him, and he didn’t feel cold anymore.

Hot fingers pressed into him, stretching him as he groaned, almost at his limit already. Keith grinned as he took Shiro’s cock into his mouth once more, sucking around it.

Shiro keened and his back arched as he felt himself getting closer. “Keith, Keith, please,” he begged. One of Keith’s fingers grazed his prostate, then massaged it as he milked more reactions from him.

“You’re so good, Shiro,” he pulled off and whispered, kissing his way up his chest. He mouthed at one of Shiro’s nipples, swirling his tongue around the nub.

His feet planted against the bed, Shiro rut against him, trying to push himself off of the edge by himself, but he couldn’t quite get the friction. Keith was solid, but he still had enough give that made getting off incredibly difficult.

The ghost smiled, wrapping the hand that wasn’t in Shiro around his cock and pumped it leisurely. He grinned. “Cum for me,” he commanded, and then he bit down around his nipple, breaking the skin and smiling as Shiro spilled between them.

He threw his head back and opened his mouth, the picture of perfection. It took a second before his moan tore through the room, making Keith groan at the sound and he licked at the mark he left, smearing the blood around.

As Shiro came down, he realized Keith had slipped another finger in and was scissoring them apart, getting him ready for Keith.

After cumming, Shiro was boneless underneath him. He let Keith move him however he wanted, spreading his legs and opening him up quickly. Shiro only let a few small whimpers loose as Keith pressed his fingers full force into his prostate, moving minutely and watching as he blew his eyes open wide.

Keith dropped his pants, and they dissolved before they hit the floor. He was back next to Shiro before he could blink, the tip of his cock pressed against his hole.

Beyond words, Shiro nodded frantically. He used his heels to pull him in more, increasing the pressure until Keith slipped in. He groaned, panting as he just felt Keith inside of him.

Keith mouthed down, pressing his lips against Shiro’s skin.

Move.” Shiro pulled him in with his legs, groaning as he moved deeper. Keith was so, so hot. It was like he was burning him from the inside out, but Shiro was far from complaining.

Then Keith moved, pressing in further as he held a hand over Shiro’s neck. “What did I tell you about talking?” His voice was low. Dangerous.

Shiro’s eyes widened, and he nodded, taking in a final breath before Keith’s hand tightened. His eyes rolled in the back of his head as he decided that choking on Keith was much better than choking on flowers.

“Fuck,” he mouthed, no sound coming out as Keith pressed deeper into him and pulled back. He thrust back in, his hips coming to meet Shiro’s with an audible slap. Underneath him, Shiro jerked as Keith grazed his prostate, sending sparks through his body that exploded behind his eyes and accentuated the black spots forming across his vision.

Keith released his hold long enough for Shiro to take a single breath before it was back again. He leaned forward, thrusting into him faster. It wasn’t necessary, but Keith was panting heavily as his bangs tickled Shiro’s cheek. He kissed Shiro, licking into his mouth sloppily and leaving trails of saliva that dripped onto his hand.

“F—fuck, Shiro,” he breathed. “I can fucking feel you.” Shiro clenched around him, and Keith groaned in response. “So good.” He scratched his nails down Shiro’s chest, leaving red trails in his wake.

He arched up into the feeling as he tightened the cage of his legs around Keith, keeping him inside. Keith bit his lip hard enough to draw blood, and red spilled between them. “Oh, fuck. Fuck, Shiro, I can taste you,” he said and kissed him again.

He released Shiro’s neck to let him breathe and sucked in a breath—but got the taste of his blood on Keith’s tongue instead. He groaned and clenched around Keith as he got closer to that edge.

“Sh—shit! Shiro!” Keith screamed as he grabbed him by the hips and yanked him further down on his dick. “I’m—I’m gonna—shit!” With a final thrust, he pushed as far as he could into Shiro and came. He leaned down and bit Shiro’s shoulder as he did, and Shiro released between them with a moan.

He collapsed on top of Shiro. A solid weight on top of Shiro as they panted, still together.

Shiro chuckled, low in his throat as he rolled Keith off of him. “So,” he breathed. “You, uh… you love me?” He laughed awkwardly and turned to look at Keith.

Keith who looked… there. He looked whole. He looked complete.

He looked alive.

Keith turned and looked at him with a smile; he leaned forward and kissed Shiro softly. “Yeah. Yeah, I do.”