Actions

Work Header

Can I Watch?

Summary:

Soap finds out that he does a little more than just talk in his sleep. He also finds out that Ghost is not opposed to what he's been experiencing.

Notes:

(See the end of the work for notes.)

Work Text:

When Soap awoke, his hands were fisted into his sheets, bunched up in his arms. An overwhelming heat consumed him, sweltering in this tiny room, as flashes of his last dream rolled through his mind.

Images of hands on his hips, then on his thighs, sliding higher and higher. Lips on his neck, his chest and collarbone. What hit him next was how hard he was, how his hips still rolled restlessly against the sheets he had gathered, as if against a partner.

Fuck, that was embarrassing. He was sharing a room, for fuck’s safe.

He stilled, listening to the breathing that accompanied his own, took in the even, long exhales that Ghost expelled.

It offered him some relief to know he hadn’t been found out, but not much. His cock still ached and he knew he should get up to finished himself in the bathroom, couldn’t find it in him to go.

A little shamefully, he chanced a roll of his hips, shuddering when it offered some minute relief. He slid his hands down, pushing the sheets a little harder into his crotch, doing it again.

Humping the sheets like a damned teenager. He was certain he hadn’t even done this as a boy, wasn’t sure where it was coming from now. It was a dangerous game he was playing with Ghost so close, the thrill of it oddly heightening his arousal. He could just stick his hand down his shorts, figure it out from there. But part of him was enjoying the thickness of the blankets between his thighs, could imagine it as something else. As someone else, even.

He bit his lip, hands and hips stilling, the wrongness of what he was doing enough to nag at his consciousness. He opened an eye, fingers relaxing, letting go of the comforter. The room was dark, but his eyes had adjusted, just making out Ghost’s sleeping frame on the bed across from him, outlined by the light of the moon from their tiny window.

Guilt twisted a knot into his stomach. He couldn’t remember the who of his dreams, but he could guess, the same person who had been appearing almost every other night.

He took a couple of deep, controlled breaths, trying to will his problem away. As he did, Ghost shifted, making Soap pause, freezing as best as he could.

A silence filled the room, one that was a little more unnatural now. The regulated pattern of sleeping breaths had faded, a more awake feeling taking hold.

Soap bit his lip, forcing his breathing back into long, deep breaths, praying.

It wasn’t enough. A quiet shuffle, the movement of fabric like a whisper. “Why did you stop?” came a voice from across the room, low and a little rough from sleep.

Soap froze. Even his fucking chest halted, no breaths coming out at all.

Maybe Ghost wasn’t awake yet. Maybe this was just his roommate talking in his sleep. If Soap just waited, it would pass.

“Soap?” came Ghost’s voice again, a little more alert.

Soap pinched his eyes shut, willing Ghost to give up, to drop it. It would be awkward as fuck tomorrow, but if he just played it off as some kind of dream state, it would be easier for the both of them.

“I know you’re awake, Soap. Been watching you. Heard you. C’mon Johnny, talk to me,” Ghost said. His voice was softer than Soap had imagined it would be, far kinder than he deserved.

“Was an accident,” Soap said finally, his voice low, embarrassed.

“I know,” Ghost said. “Still hard?”

A sharp breath left Soap, and he nodded, tucking his face into the pillow, arms tightening back around the sheets. But Ghost couldn’t see him nod, asked him again, forced a whiny, needy sound out of Soap, a barely distinguishable “yes” into the fabric there.

Soap waited for Ghost to get up, to beat the shit out of him and kick him to the door. To give him hell and never let him live it down. When the bed beside him creaked and shifted, Soap tensed, knowing he was about to deserve what he had coming to him.

Instead Ghost pushed himself into a sitting position, propped up on an arm, the other hand reaching down to adjust himself in his shorts.

Soap held his breath, waiting.

“Can I watch?” Ghost asked, voice low, so low Soap was sure he had misunderstood.

Soap felt drawn taut, raw, vulnerable. “What?” he asked, mouth dry.

A hum, another shift, Ghost’s hand pulling at the leg of his briefs. “Soap,” he said slowly, carefully, as if not to startle a cornered animal. “Fuck, sweetheart. Can I watch you?”

Soap sucked in a shuddering breath, his hands fisting into the sheets. “S’Nothing special,” he murmured, feeling suddenly self-conscious, his mind a little dizzy.

“Let me decide that for myself,” Ghost said, and Soap could just make out the outline of Ghost’s body. Shirtless, but the bastard still had his mask on. Between that and the darkness, Soap couldn’t make out his expression, couldn’t tell the level of sincerity there.

A sigh, then the sliding of a hand under fabric, Soap’s breath hitching as Ghost took himself in his hand and started stroking his cock in slow, lazy motions. “Want me to tell you what’s got me hard?” Ghost asked.

Soap nodded, then, remembering Ghost couldn’t quite seem to see him, whispered out an affirmative.

“At first, I thought they were nightmares. Sat up with you a couple of times, ready to wake you if needed,” Ghost grunted, voice low.

Soap’s stomach twisted. He hadn’t known that, and the image punched its way into his gut. The idea of Ghost, staying close by for him, ready to help if needed. Except he knew what would come next. He hadn’t had a nightmare in weeks, each of his dreams haunting in a different way. An intense reminder of what wasn’t his, what he couldn’t have.

“’Cept that wasn’t the case, was it Johnny?”

A low whimper, something so unlike any sound he had ever made, his cock twitching as flashes of some of those dreams came back to him. Things so sensual and desperate that they had him waking up in sweats each time.

Soap could see when Ghost picked up his pace around his cock, the moonlight backlighting each of his movements. Soap swallowed, hands finding themselves back in the blankets, gathering them back down between his legs. He let out the tiniest breath as the friction he craved returned, a little rougher this time.

A pleased hum from Ghost. “Just like that,” he murmured.

Soap gasped, hips snapping forward at the praise, a surprising turn on for him. Ghost seemed to anticipate it, his hum low and amused. “Heard you saying my name. Just quietly, at first.”

“At first,” Soap breathed, flush spreading. But he wasn’t embarrassed about being caught anymore, not when Ghost so obviously liked what they were doing, was playing with himself too. He wasn’t prepared for how needy he would feel, how much he liked having Ghost tease him like this.

“That’s right, sweetheart. Fuck, never knew you wanted me like that,” Ghost said, gasping a little bit when he did something that he liked, hand slowing a bit.

Ghost quieted for a moment, just watching him. Soap wasn’t sure if he liked that or not, being watched, didn’t care enough to stop. He let his hips roll shamelessly into the comforter, wasn’t sure if he could finish like this but fuck, he was going to try. “More,” Soap bit out, stomach twisting at the silence, not when he knew what he could have.

Ghost laughed, then let out a groan. “Just…listening. To you. The sounds you make, they’re fucking unreal.”

“Oh,” Soap gasped, eyes fixed to Ghost’s hand. He had picked up speed again, stroking himself at a near brutal pace.

“Want to see if you’d do that to me,” Ghost said, his voice wrecked, shaky. Soap could tell he was close. “Want to know if you’d fuck yourself like that against my thigh.”

Soap moaned, hips picking up speed, hands desperately displacing the fabric to be able to rut against it better, back arching. It wasn’t enough. He tossed the sheets onto the floor, rolling onto his back. One hand shoving his briefs down, the other gripping his cock.

He heard Ghost’s breath catch, heard the little laugh he let out. Soap was too far gone to feel embarrassed, turning his head to watch as Ghost’s hand fell into an irregular pattern, both of them so fucking close.

“Johnny,” Ghost groaned, hips meeting his hand in stuttering thrusts, coming across the expanse of his stomach.

Soap’s breath caught, frustrated that he was so close, needing a little more. His eyes closed, head tipping back against the pillow.

The bed dipped suddenly, a hip bumping against his thigh. When Soap opened his eyes he was looking up at Ghost, who knew how close he was, could read him too well. A hand joined his own and that’s all it took, shooting hot ropes up the length of his body, breaths coming out in little punched out pants.

A hand on his face, thumb rubbing gently on his cheekbone. “Good, Johnny?” Ghost asked. Soap could hear the smile there, just nodded when he found he wasn’t quite ready to formulate words.

A couple of tissues were pulled from the box, Ghost kind enough to offer him a rough cleanup following one of his own. In the come down, it was kind of embarrassing that he had been humping his bedspread all in the name of him and his lieutenant getting off, refrained from saying so at the further risk of his dignity. “Why didn’t you tell me earlier?” Soap asked instead, his voice low, a little more vulnerable than he wanted.

A hum. “How do you reckon I should have approached the subject?” Ghost asked.

Soap laughed once, sharply. “Suppose you’re right,” he allowed.

“Plus,” Ghost threw out the tissues, pulling the comforter back up onto the bed. Soap wasn’t particularly interested in looking at it right now. “Kinda liked it.”

Soap snorted, but the answer made him feel a little better. He had enjoyed each of the dreams, would have been mortified if Ghost had approached the subject any earlier than this. Soap half expected Ghost to give him a pat on the back, to leave him there to return to his own bed. Was pleasantly surprised when he didn’t.

“Can I sleep here?” Ghost asked, looking to the spot beside Soap.

Soap hummed, lifting the sheets in a clear invitation. He shifted over some, letting Ghost settle in at his right. They were close, close enough that Soap could feel the heat of his body, but not yet touching.

“Need a moment,” Soap admitted, his body still feeling a little oversensitive. “Then I have to warn you. I’m a cuddler.”

“So I’ve come to understand,” Ghost said. There was definitely a hint of teasing there. But Ghost gave him his space, had an arm ready to wrap around his middle when Soap rolled up against him. Soap didn’t hold back, letting himself tangle up on top of Ghost, a firm shoulder his pillow. He figured if Ghost had already seen him at what was at the very least an incredibly embarrassing moment, he could handle this part of Soap too, trusted him to say something if he didn’t like it.

“Good?” Ghost asked, hand sliding along his ribs once Soap had done settling.

Soap nodded, eyes already shifting shut.

At least he knew if he woke up hard, they could put an answer to Ghost’s earlier question, the thigh between Soap’s legs feeling awfully comfortable.

Notes:

At this point, I feel like my list of kinks is just laid out for the world to see in my fics. An open book, where is my goddamn modesty. Please let me know if you find any errors below, thanks for reading!

If you're interested in talking about personal fic ideas or want to share reading recommendations, come chat with me on twitter!