Work Text:
Soap could sleep anywhere, a skill he’d acquired from having to grab any bit of rest whenever and wherever he found himself.
It made moments like this all the more lovely. Had caught Ghost for a quiet moment in his room between trainings, felt like forever since they had been alone like this. He hadn’t meant to fall asleep, didn’t realize that he had until he was waking up in Ghost’s lap, face tucked into the man’s neck.
Soap took a moment to enjoy the warmth and the fog that still tugged at his conscious. Took in the warm body under him, the arms that wrapped around his waist. His legs tingling some as he straddled Ghost’s thighs, but it was minimal enough to ignore. He sucked in a deep breath before settling in a little closer.
Ghost made a sound at that, arms tightening around him.
That’s when Soap felt it.
Fuck, this is what must have woken him up, gentled out of his sleep by subtly rocking himself against Ghost’s stomach. From what he could tell, Ghost was awake, breathing normal and hands almost…helping Soap rock against him.
Soap stretched some, testing. Got a good roll of his hips in, his cock starting to fill between their proximity and lazy movements.
And yeah, Ghost was definitely helping. He shifted beneath him, giving Soap more purchase, dragging him in a little closer.
“Up?” Ghost asked, voice low. Wouldn’t have been loud enough to wake him if he really was still under, barely a breath at Soap’s ear.
Honestly, Soap could go either way. Could easily let himself drift back down, but there certainly was an incentive to waking up. Enough so that it had him shifting again, getting another good roll of his hips in against Ghost’s middle.
It felt so good, had him moaning some, face tucking in against Ghost’s neck as he chased the warmth that had come from his sleep. “M’I heavy?” Soap asked, voice low and muffled, too tired to drag himself up just yet.
“You’re good,” Ghost reassured. “Were making the sweetest sounds, I was enjoying myself.”
Soap let out a quiet snort at that, gave another slow, sluggish rolling of his hips. “Can tell exactly how much you were enjoying yourself,” he said, felt the way Ghost sucked in a breath as Soap gave him some friction.
“Don’t stop on my account,” Ghost said. One hand slid down to Soap’s ass, the other to his ribs.
Soap liked the sound of that, wanted to chase those sparks of electricity that rolled up his spine. Gave another testing roll, loved the response he got from the man under him.
“So good,” came Ghost’s voice, low, encouraging. “Comfortable?”
Soap nodded, was still too close to sleep to draw up the energy to respond properly if it wasn’t entirely necessary.
A kiss at Soap’s shoulder, those arms dragging him in closer. Soap barely had to do any work when Ghost had him like this, had that delicious pressure and warmth right there, just had to squirm a bit to get the friction he needed.
He turned his face some, mouth at Ghost’s ear. The mask was in the way, but Soap still managed to nip at his lobe before nosing at the shell of his ear. “Let me get off like this,” Soap breathed, felt Ghost shiver at his words. “Then I’ll suck you off.”
Ghost didn’t need to be told twice, loved having Soap any way that he could. Had never complained once at Soap’s suggestions, knew Soap gave some of his best head after he had come. Paired with how exhausted he was now? Yeah, Ghost wasn’t going to say no to any of this.
“Go on then,” Ghost murmured.
A hand found its way into Soap’s shirt, the other onto a thigh strap, just holding. Fuck, that felt good, the way it bit into the skin there. Soap let himself go, let himself moan. It was a low sound, just for Ghost, still at his ear. Let himself grind his hips down against Ghost’s stomach, did it again once he found the perfect angle.
“Fuck,” Ghost ground out, settling deeper into the bed. He adjusted himself as best he could without displacing Soap too much, pushing his hips out to get some friction of his own.
A hand splayed out over Soap’s ribcage, pushing him up straighter, out from the little safety shell he had built for himself.
Soap couldn’t help but to groan at that, had been happier to indulge when he didn’t feel so on display, should have known better. Ghost liked to watch, eyes tracing the flush that Soap could already feel blooming along his cheeks and down his neck. That hand tightened into his thigh strap, both hands helping Soap to roll his hips in against Ghost, to help build him towards his pleasure.
Soap let out another breathy sound, couldn’t help himself. Was so hard right now, his cock straining against his sweats, visible to the both of them.
Ghost had moved the hand from his ribs to Soap’s other thigh strap, was practically framing his cock. “Fuck you look pretty like this,” Ghost said, gaze burning into Soap.
Soap could feel his flush grow, knew that he would have these big, blotchy red marks across his chest if they bothered to look. “Don’t say that,” he said, more of a reflex than anything. Was so rare that Ghost paid him quiet compliments. He was far more used to the rough, quick fucks that had them rushing towards relief than the sluggish, soft build up they were working toward now. Fuck, would it be dangerous to have Ghost knowing just how much he enjoyed being taken apart slowly, didn’t think he could handle the full scope of Ghost’s attention on him.
Under him, Ghost laughed. Soap couldn’t help it, put a hand on Ghost’s chest, felt that sound vibrate up from there. It made him impossibly harder.
“Can’t promise anything,” Ghost said. “Can try to hide it, but I know you like it, being so good for me.”
Fuck. Soap felt dizzy with it, a little sloppy. Tipped himself forwards, forearms resting on Ghost’s shoulders to change the angle. Between the training this morning and his current workout, his thighs burned, at risk of trembling noticeably. Had to find a way to come before he was found out, before Ghost could tease him more.
“Want to feel you ride me like this one day,” Ghost said. “Know you’d be so good at it.”
The sound Soap made at that was embarrassing, the words hitting him harder than they should have. Could feel himself getting wet with precome, would be soaking through his sweats any minute now. Felt hot with it, no longer on the edge of sleep, was chasing an orgasm. Knew that if he tried to reach down and finish himself off, Ghost would stop him, would make him finish what he had started.
Ghost reached up now, fingers running along the collar of Soap’s shirt, cool skin a balm against burning skin. “You embarrassed by being on top like this? Why, sweetheart? You know I like seeing you like this.”
Soap felt a little overwhelmed by his words, didn’t have an answer. But it didn’t seem like Ghost had been expecting one, just kept going, especially as he saw just how close Soap was getting, hips picking up speed.
“So fucking pretty, Johnny. Fuck, just like that.”
It was too much. Soap let himself fall forwards, wrapped his arms around Ghost’s shoulders, tucking his face safely into the crook of Ghost’s neck.
A laugh, a hand on his back. Soothing circles that left goose bumps in their wake, that had him gasping.
“Why are you hiding sweetheart? Want to see that face. Wish you could see what you look like right now. Next time we’re alone I’m going to bend you over in front of the mirror. Going to make you like seeing yourself like this, just as much as I do.”
“Simon,” Soap gasped, was so fucking close. It was too much and not enough. Was right at the edge of his orgasm, breaths coming in gasps, hips bruising against Ghost.
“I’m right here, sweetheart. Fuck, can feel how hard you are. If you keep grinding your ass on me like that, you’re not going to need to blow me after.”
Where did he find the audacity? A man who said so little on the daily had no right taking him apart with words alone like this. He ached with how badly he needed to come.
“Please,” Soap said, was the only word he could squeeze out. Had his hips falling in an unnatural rhythm now, was desperately trying anything he could.
“I’ve got you, sweetheart. Just a little more, almost there,” Ghost said. His voice was low, soft.
Soap squeezed his eyes shut. His thighs fucking burned but he couldn’t stop now, not with how badly he needed this, with how badly he needed Ghost. Had frustrated tears threatening, fingers digging in a way that could only be painful into the flesh of Ghost’s shoulders.
“Fuck, love. Just like that, fucking love seeing you like this.”
“Can’t,” Soap bit out, reaching a limit. Could feel the hot stinging of tears, felt one slip out before it disappeared into the fabric of Ghost’s mask.
“What’s that, sweetheart?” Ghost asked. Had a hand on Soap’s back, was rubbing easy circles there.
A sniffle, louder now, one that Ghost could make out. Stopped Soap with a hand on his hips, helped guide him up and back some, took him in fully. Fuck, Soap felt like he was burning alive under that gaze. He couldn’t do it anymore though, his muscles finally calling it quits on him.
A hand cupped his cheek, thumb gently wiping away another stray tear. “Need some help, Johnny?” Ghost asked. Was so soft, was never this soft with anyone else, just for Soap.
“Please,” Soap managed, voice barely a whisper. Didn’t have to beg, Ghost could see just how undone he had become.
“Course, sweetheart,” Ghost said. His hands ran along Soap’s thighs pausing.
Soap let out a whimper, tried pushing forwards to meet him but couldn’t, too sore now. His legs trembled with the exhaustion of it all. But Ghost had him, was easing his waistband down, cold air hitting his cock, red and desperately hard.
A single finger ran along the underside of his cock, making Soap moan.
“Please,” he gasped out, louder this time.
Ghost shushed him, wrapped a hand around him.
Soap’s back arched, hands clambering back onto Ghost’s knees, desperate for any purchase. Couldn’t help the moan, especially as Ghost began stroking him in earnest.
“There you go, Johnny. I’ve got you, whenever you’re ready.”
Soap couldn’t help the moan that spilled out, couldn’t help but try for one last desperate rolling of his hips, his muscles screaming at him to stop. Finally found it, let out a cry as he came, shaking and sucking in long breaths as he all but collapsed against Ghost.
And Ghost only hummed at that, took his weight and held him as he tried to get his breath back.
“Just need a second,” Soap said, voice low, exhaustion creeping back in. Fuck he was tired, had his orgasm drawing him back down, but he knew he still had to make good on his word.
Ghost hummed. Had a hand in Soap’s hair, fingers running over his scalp. Felt fucking good, was dangerous with how exhausted he felt right now, post-orgasm haze threatening to pull him under, warm and satisfied against Ghost’s body.
“Just a second,” Soap promised. Ghost would never push him, would never ask for it, especially when Soap was so close to losing himself back to his sleep, but Soap was determined. Was repeating it for himself, had to stay awake.
Another hum, those arms back around his waist, pulling him in tight to Ghost’s chest.
Soap sucked in a long breath, his eyes closing by themselves. Just needed to slip off Ghost, to get himself between the man’s knees. Once there, Ghost could handle the rest—only needed another moment before he would be able to.
He sucked in another breath, breathing slowing once more, becoming more even, longer.
Idly, he felt Ghost press a kiss right below his ear.
“I’ve…got…it,” Soap murmured. Wasn’t sure if Ghost could even pick apart the words with how they slurred together.
“Course. Course,” Ghost said, settling back in against the headboard, Soap slouching down with him.
“Gonna make you feel so good,” Soap breathed, had found himself tucked back up against Ghost’s neck, was so dangerously warm and safe here.
A hum, low. Another kiss, to his temple this time.
It was the last thing he felt before gently slipping back off to sleep.
