Actions

Work Header

Combustion

Summary:

“Johnny…” he warned, voice low, “not a good idea.”

Soap gave a lopsided grin. “Why not?”

Price set the bolt carrier aside with deliberate care. “Because there’s still sand in my boots, and blood under my nails, and a certain Lieutenant two rooms away who’d break the door down if he thought I so much as looked at you the wrong way.”

——————
Three soldiers, one safe house, a whole cache of sexual tension and a distinct lack of air conditioning. What could possibly go wrong?

Chapter 1

Notes:

This is a sequel of sorts to my Fic Tectonic but 100% can be read as a stand alone.

(See the end of the chapter for more notes.)

Chapter Text

They were safe. Technically.

The op had wrapped two days ago, bloodless in the end but loud as hell, and now they were laying low, in a safe house too far south for exfil and too close to the chaos they'd stirred up to move. Command had told them to sit tight. Exfil was grounded until the heat passed, figuratively and literally. The region was on fire in more ways than one: smouldering insurgent chatter, patchy comms, and a dust storm that hadn’t let up since they'd crossed the valley floor. Helicopters couldn’t fly in it. Ground convoys were too exposed. So they waited.

The safe house was a single-storey sprawl of pale concrete and faded tiles, clearly once a family home, long since gutted and repurposed by friendly forces. It wasn’t uncomfortable. Power held steady. The water ran, mostly clear. There was even a battered air con unit wheezing on in the main room, stubbornly pumping out air a few degrees cooler than the outside hellscape.

But it wasn’t home.

Soap wandered the halls like a caged dog. Every surface was warm, dry, oppressively still. They had food, ammo, and plenty of time, which meant they also had space for the worst of it: boredom. Reflection. Each other.

He hadn’t slept well. No one had. He could hear it in the way he found himself snapping during morning comms, in the sharpness of Ghost’s silence, in the way Price’s jaw had been tight for three days straight.

Soap had tried to busy himself. Cleaned his gear. Repacked it. Twice. He’d done laps of the perimeter, even when Price said it was unnecessary. Anything to burn the edge off. It wasn’t working.

He needed something else. And the problem was, he knew what.

Soap found him at the far end of the house, in a room they’d more or less claimed as theirs. The windows were slatted, let in strips of orange light. Price was seated on the end of the bed, rifle broken down across his lap, already halfway through a cleaning cycle he didn’t really need to do.

Soap leaned on the doorframe, arms crossed. “If you polish that any more, I might get jealous.”

Price didn’t look up. “That right?”

Soap stepped in, slow. “Aye. I wouldn’t mind you takin’ me apart like that either.”

Price glanced up at that. Just once. But there was a flicker there: soft, subtle, interested.

“Johnny…” he warned, voice low, “not a good idea.”

Soap gave a lopsided grin. “Why not?”

Price set the bolt carrier aside with deliberate care. “Because there’s still sand in my boots, and blood under my nails, and a certain Lieutenant two rooms away who’d break the door down if he thought I so much as looked at you the wrong way.”

Soap tilted his head, tone light, teasing. “That sounds like a challenge.”

“Not everything is, Sergeant.”

He said it calm, but his eyes lingered. Heavy and warm. Soap stepped closer, hands sliding casually into his pockets, close enough to touch but not stupid enough to try. Price’s gaze dropped to his mouth for the briefest moment. Then back up.

Before either of them could speak, the air shifted. That subtle prickle at the back of Soap’s neck, the sixth sense every soldier earned the hard way. The quiet snap of weight against wood. A bootstep in the corridor.

They both turned at once.

Ghost stood in the doorway, leaning just off-centre, shadowed by the low hallway light. Arms folded. No skull mask today, too hot for that, just the balaclava rolled up slightly, enough to show the edge of a clenched jaw. His eyes locked on Soap first, then Price. Then back again.

“Everythin’ alright?” he asked, voice flat and cold.

Price hummed, cool composure back in full forth “Just talking.”

Ghost’s gaze flicked back to Soap. “That what we’re callin’ it?”

Soap swallowed, throat dry. “You want somethin’, Ghost?”

There was a long pause. Then Ghost stepped into the room.

“Didn’t mean to interrupt.”

But he didn’t leave. 

Soap had to stop himself from making his frustration known. 

Because the thing was, he was pretty bloody certainGhost knew what was going on between him and and their Captain. He hadn’t exactly been subtle about it. Not with comments like “that what we’re calling it?”

And Soap had overheard him and Price that time. Months back. Voices low, furious, door half-closed. 

He got it, Ghost was worried about them breaking protocol, crossing lines. But it wasn’t like their performance had suffered. Neither of them had missed a beat in the field. Not since Price had told him, in no uncertain terms, to get his head out of his arse and keep his focus.

Still, ever since they’d been stuck in this oven of a safe house, the tension had been climbing. Rising to the point where Soap had to sneak into Price’s room in the night like a fucking teenager. And only to sleep, mind.

Because apparently, Price was dead set on not pushing Ghost.

Which Soap understood. He really did.

But it also meant he hadn’t gotten off in days. And with the way Price and Ghost kept strutting around half-dressed, muscles out and sweat shining… well. It was getting to be a fucking problem.

Distracting didn’t even cover it.

 


 

Soap had reached a new level of 'fuck it' by the time he stopped bothering with T-shirts altogether. It wasn’t exactly a fashion choice, just a practical one. He only had a handful of clothes with him, and there were limits to how often a man could scrub the same gear in a cracked sink before giving up entirely. So the shirts were out, and, more recently, the underwear too. That part was probably less obvious. Or so he thought.

He was humming to himself in the kitchen, assembling something that barely qualified as breakfast, dry rations and a prayer, really, when he felt the weight of someone’s eyes on his back. He grinned without looking, already assuming it was Price. Expecting one of those long, appreciative looks that said I want to put my mouth on every inch of you.

He turned with a smirk already forming, ready to toss out something smug and stupid, only to find himself face to face with Ghost.

The words stalled before they reached his mouth.

Ghost was standing completely still, shoulders squared, arms loose at his sides. His eyes were fixed, unmoving, on Soap’s bare chest. And when Soap shifted, his gaze tracked downward, dragging slow to the dip of his waist. His attention caught there, lingering.

Instinctively, Soap glanced down too. It hit him then, a beat too late: the waistband of his shorts was riding low, clinging just enough to stay up but not enough to hide the fact he was wearing nothing underneath.

Soap’s breath caught in his throat. Heat crawled up the back of his neck and bloomed across his ears.

He cleared his throat, aiming for casual, and missed by a mile.

“Uh. Nothin’ you haven’t seen before, is it?”

It was meant to come out teasing. Light. But it landed somewhere closer to breathless.

Ghost didn’t laugh. He didn’t even blink. Just kept looking.

And suddenly, Soap was very aware of the perspiration at the small of his back, the tension in his gut, and how bloody warm the room felt.

Then Ghost finally said, quiet but not soft, “You always cook dressed like that?”

Soap blinked. The words were simple enough, but something about how Ghost said them, made his stomach do a slow turn.

“I cook better when I’m free range,” Soap replied, reaching for humour like a lifeline. He grabbed a fork and stirred at the pan with unnecessary vigour, hoping it might distract from the fact his skin was still damningly pink and his shorts had not, unfortunately, climbed any higher.

Ghost hummed behind him. Just there. Present in a way that made Soap’s nerves itch.

He was about to say something else, maybe push the joke further or ask Ghost outright if he had a problem when another voice cut through the moment.

“Christ, Johnny.”

Price’s gaze flicked over Soap slowly. Down to his hips. Then across to Ghost. And then back again. 

The corner of his mouth lifted. Just slightly. Not quite a smile, but close enough to be dangerous.

“I leave you alone for five minutes and you turn breakfast into a bloody peep show.”

Soap huffed, trying and failing to look offended. “It’s bloody hot.”

“That’s not an excuse to start stripping like you’re auditioning for a calendar,” Price said mildly, moving past him to grab a mug from the counter.

“You’d be lucky to have me in a calendar,” Soap muttered.

Price didn’t answer. Just shot him a look over the rim of his mug that said far too much. The silence stretched, and in it, Soap became painfully aware of how close both men were standing.

Ghost didn’t speak again, but when Soap glanced over, he found him still watching. Still unreadable. Still there.

Price took a slow sip of coffee, then nodded toward the pan. “Hope you’re making enough for three.”

Soap turned back to the stove with a small, exasperated laugh. “Aye. Sure. One performance breakfast coming right up.”

Notes:

Hello, I have been enabled once again, this time to escalate this situation and introduce Ghost into the mix.

And look, you may have seen a pattern forming here. I set out with good intentions and say to myself “let’s write some straight forward smut” and so I try. And try. And then, five separate drafts later and the plot takes me hostage.

Also, Johnny is so smart right up until it comes to Ghost being interested in him and then he’s as dense as a rock. I just feel like shouting ‘the way he flirts with you over comms is not normal Johnny!’ Even if said flirting style does include jokes about dead dogs.

Chapter 2

Notes:

(See the end of the chapter for notes.)

Chapter Text

After breakfast, Ghost made some vague comment about checking the perimeter. Soap watched him go, listened for the door opening, the heavy thunk of it closing again.

He waited a beat longer, just in case. Then he turned to Price. “Am I going fuckin' crazy?” he hissed, keeping his voice low despite the fact Ghost was very obviously not in the room. Still, he had the weirdest feeling Ghost might’ve only pretended to leave. Wouldn’t be the first time. The stealthy bastard.

Price barely looked up from the battered newspaper he’d found tucked behind a cupboard. It was yellowed, curling at the edges, dated at least months ago, but he’d been reading it like it held national secrets.

“I think we’re all going a bit crazy,” he said dryly, eyes still scanning the page.

Soap narrowed his eyes. “Ghost. Before. You saw him, right? The way he was acting?”

Price turned the page with deliberate slowness, and Soap felt the immediate, irrational urge to karate chop it in half just to get his full bloody attention.

Price snorted softly. “We’ll get you an apron next time.”

He paused, finally glancing over the top of the paper. His mouth curved into a smirk.

“Not a bad idea, actually.”

Soap groaned out a laugh, rubbing a hand down his face. “I’m being serious.”

“I know.”

“I mean it. Things have been weird. He’s been weird. I didn’t realise how big a problem Ghost seems to have with… us.”

Price’s expression didn’t change much, but the pause was there. 

“He’s protective,” Price said at last. “Always has been.”

“Right,” Soap said, folding his arms. “But is it that? Or is it... somethin’ else? 'Cause I swear, sometimes it’s like he’s looking at me like I’m a threat. Or a joke. Or—hell, I don’t know.”

Price held his gaze, calm as ever. “You’re not a joke.”

Soap didn’t answer straight away. He let out a breath, stared at the far wall like it might offer clarity. It didn’t.

“I just—if he’s got a problem with me, I’d rather know,” he said finally. “Instead of all the sidelong looks and fuckin’ cryptic half-comments.”

Price folded the newspaper slowly, set it down on the table with care. Then he leaned forward, elbows on his knees.

“Let me ask you something, Johnny,” he said, voice low, even. “What if it’s not a problem he has with you?”

Soap blinked. “What?”

Price shrugged, like the question was simple. “What if it’s not about disapproval? What if it’s something else entirely?”

Soap opened his mouth, then closed it again. Thought of Ghost in the doorway. Watching him cook like he was something worth cataloguing. Ghost’s eyes tracking low, like he didn’t mean to but couldn’t help it.

“Oh,” Soap said quietly

Price’s mouth twitched. “Yeah.”

There was a long silence. Soap broke it with a groan and flopped back onto his chair.

“Fuck’s sake,” he muttered.

Price just leaned back and unfolded the newspaper again.


Soap was a cold side of the pillow kind of bloke. Easy enough back on base, where even in the height of summer his room, or Price’s, stayed shaded most of the day. Just flip the pillow over, instant relief.

This place? No chance.

He’d been tossing and turning for hours. Hadn’t even bothered sneaking into Price’s room. The last time he tried, he’d nearly combusted from proximity alone. His own body heat was enough of a problem. Add Price, bare-arsed and smug about it, to the equation and it became a self-inflicted form of torture.

The heat was bad. The sexual frustration was worse.

Eventually, he gave up. Dragged himself out of bed, sticky and irritable, and staggered down the corridor to the only place in the whole damned building with air con. The living room.

It was dark, mercifully quiet. He shuffled through, half-blind, and threw himself down onto the sofa, only to land squarely on something solid. Something warm. Something human.

He may or may not have screamed.

“Jesus fuck—!”

There was a grunt. Low and unimpressed.

“Get off me.”

Soap scrambled sideways like he’d sat on a live grenade. “Sweet bleedin’ Jesus, Ghost, why the fuck are you just lying there like that ? You nearly gave me a heart attack.”

Ghost, flat on his back on the far end of the sofa, didn’t move much. Just exhaled slowly. His balaclava was off, just a lightweight surgical mask instead, face shadowed in the low light, hair curling damply. 

“Could ask you the same,” he muttered. “Didn’t expect you to come throwin’ yourself across the furniture.”

Soap huffed, ran a hand down his face. Now that his heart had stopped trying to leap out of his chest, he realised the room actually was cooler. Slightly. Blessedly. And that Ghost had claimed the best spot, which was typical.

“Move over.”

Ghost raised an eyebrow but shifted, giving Soap a corner of the couch. They sat in silence for a moment, tension slowly cooling with the air. Then Ghost nudged something on the table toward him.

A battered deck of cards.

“Can’t sleep either?”

Soap snorted. “Do I look like I’m well-rested?”

Ghost gave the barest shrug. “Game of somethin’?”

Soap raised a brow, suspicious. “You offerin’ to lose?”

Ghost looked at him sideways. “You offerin’ to win?”

Soap grinned. “Now that sounds like a challenge.”

They played in near silence at first. Just the low shuffle of cards, the hum of the air con, and the distant nighttime buzz of insects outside the cracked window.

Soap leaned forward, bare arms resting on his knees. He was still shirtless and his shorts had seen better days. Ghost didn’t seem bothered exactly. But Soap would swear that every time he moved, he felt Ghost’s eyes dragging over him. Felt it like static, crawling across his skin.

“You always play this seriously?” Soap asked, narrowing his eyes as Ghost laid down another card with a level of precision that was frankly suspicious.

“Always play to win,” Ghost replied coolly. But the corners of his mouth twitched behind the thin mask, like he was trying very hard not to enjoy himself too obviously.

Soap scoffed. “Christ, remind me never to take you to a casino. You’d scare the bloody dealers.”

Ghost just raised an eyebrow.

“Not much fun in playin' like that,” Soap added, frowning at his hand.

“Depends on what you’re playin’ for.”

Soap gave him a look. “Oh, we placin’ bets now, are we? What’s next, strip Snap?”

Ghost didn’t rise to the bait. Just looked at him, steady and unreadable, then slid another card across the table with deliberate calm.

Soap leaned back a little, watching him. “Alright then, big man. Loser does... what?”

Ghost tilted his head like he was weighing something heavier than the question. Then, far too calmly: “Takes a truth.”

Soap blinked. “Truth or dare?”

“No dare,” Ghost said simply. “Just truth. No bullshit.”

Soap gave a short laugh. “You sure? Could’ve made you do a lap round the safehouse in just your boots.”

“Still could.”

Soap pulled a face. “Jesus. Don’t tempt me.”

He leaned forward again, serious now, well, mostly. “Fine. You lose, you tell me what your deal is lately. You’ve been stompin’ around like you’re about five minutes from declaring war.”

Ghost didn’t even blink. “And if you lose?”

Soap smirked, spreading his hands wide. “Ask your question. But no weird shit, alright? I’m still traumatised from that game of ‘Would You Rather’ with Gaz on the Baltic op.”

Ghost didn’t smile, but his gaze darkened slightly. He laid down his hand.

And won.

Soap groaned, leaning back into the sofa with a hand over his face. “Fuck’s sake.”

Ghost didn’t gloat. Just shuffled the deck again. “You ever fuck a teammate?”

Soap dropped his hand, eyes flicking up fast. “That’s your question?”

“You agreed. No bullshit.”

Soap stared, incredulous. “Out of all the things you could’ve asked me, you go straight for the HR violation?”

Ghost didn’t flinch. Just watched him. Waiting.

Soap scoffed, looking away for a moment. “No. Not before now.”

Ghost’s eyes tracked him. “Before now?”

Soap’s lips parted. “Shit—nah, I didn’t mean—” He cleared his throat, scrubbed a hand through his hair. “You know what I mean.”

“I think I do.”

Ghost said it quiet, but the look in his eye was all weight. Soap swallowed and tried not to squirm.

Ghost dealt again, and this time, Soap won. Barely.

He leaned forward, propping his chin on one hand like he was pretending this was still casual. “Alright, my turn,” he said, tone easing just a bit. “What is your deal?”

Ghost’s jaw twitched. He looked off to the side, silent for a moment. Then, finally: “Just don’t like things getting messy.”

Soap raised an eyebrow. “Messy?” he echoed, tone dry.

“With command,” Ghost added, eyes flicking briefly toward the hallway. “With… you two.”

Soap tilted his head, watching him. “Right. Sure. Because you're so worried about chain of command.”

Ghost didn’t answer.

Soap let the silence sit for a beat, then said, almost lightly, “You’re not worried. You’re jealous.”

That landed. Not a full flinch, but enough, a flash of something sharp in Ghost’s eyes, something defensive, unspoken. Soap saw it and felt a flicker of something vindicated twist in his gut.

“You’re—” he started, but didn’t get to finish.

Because just then, footsteps sounded in the corridor. 

Price.

He entered without a word, boots unlaced, loose trousers slung low on his hips, shirtless, looking a little too aware for a man just out of bed. He took one look at the scene, Soap half-naked, Ghost sitting a little too close, the cards between them like a lit fuse, and raised an eyebrow.

“Didn’t think I needed to supervise card games,” he observed drily.

Soap swallowed. “Just passing the time.”

He could feel Price's eyes on him, could practically hear the disbelief behind the silence. No way he bought that.

Price crossed the room with that same slow, controlled stride he always had all calm on the surface, but never without weight. Soap’s gaze tracked him without meaning to, pulse ticking higher as the captain came closer. He took a spot on the arm of the sofa, close enough that Soap felt the heat of him. Then Price’s hand landed on his shoulder: light, casual, but grounding.

He followed Price’s gaze as it settled on Ghost. It wasn’t hostile or challenging, exactly. But there was nothing soft about it either.

Ghost looked right back at him.

Price said, coolly: “You win anything?”

Soap, suddenly very aware of the hand on his skin, shook his head. “Ghost’s got a hell of a poker face.”

Price hummed. “Not always.”

The silence thickened.

Ghost rose, the movement sudden, abrupt. “Think I’ll do another perimeter sweep.”

“No need,” Price said.

Ghost didn’t move.

“I already did it,” Price added, still calm. Still with that hand on Soap’s shoulder.

Ghost looked at Soap one last time, then nodded, once, and walked out. The door clicked behind him.

Soap exhaled slowly, pulse pounding.

Price didn’t move but his thumb brushed over Soap’s shoulder. “That’s what I mean,” he said softly. “Protective.”


Soap followed Price back to his bedroom, mind still looping with the night’s weird turn. His brain wouldn’t shut up, replaying Ghost’s stare during the card game, the feel of Price’s hand on his shoulder, the way the air had gone knife-sharp for a moment. He wasn’t sure what he was supposed to do about any of it.

The room was dim, windows slatted with dying light. Heat clung to the walls like a second skin. Familiar, now. The kind of heat that got in your bones and didn’t let go.

Soap made for the bed, already anticipating what had become routine over the last few nights, lying beside Price in silence, both of them deliberately, frustratingly still, with a careful strip of space between their bodies.

But this time, as he reached the edge of the mattress, an arm shot out, stopping him in his tracks. Price’s hand landed firm at Soap’s chest. 

Soap blinked up at him. “What—?”

Then he caught the dark, focused look in Price’s eyes. Soap’s gaze dropped before he could stop himself… and there it was. The unmistakable shape pressing against the front of Price’s trousers. 

He wet his lips. “Not complainin’, but weren’t you the one trying to keep your distance?”

A flicker of amusement tugged at Price’s mouth. “Mm,” he hummed. “Bit late for that, don’t you think?”

Soap’s heart pounded in his throat. He couldn’t think, couldn’t speak, he just moved. Dropped to his knees like it was muscle memory, like instinct had taken the wheel and slammed it into now.

The tile was hot and rough beneath him. He didn’t care. Didn’t give Price a chance to change his mind. Didn’t want to. Best to strike while the captain was still hard and willing.

“Fuckin’ hell,” he muttered under his breath. “Before you start gettin’ noble about it again.”

He reached for the waistband of Price’s trousers, gaze flicking up one last time. When found nothing but permission dragged them down slow, deliberate, baring the length of him. Thick, heavy, already dark at the head.

“Christ,” Soap whispered. “Been thinkin’ about this…”

He wrapped a hand around the base. Swiped his thumb along the leaking slit. Leaned in and licked a long, slow stripe up the underside, groaning low in his throat like he needed it more than air.

And he did. Because he fucking loved this.

Loved the taste, the weight, the way Price’s cock twitched with every flick of his tongue. Loved the quiet grunts above him, the slight tension in Price’s legs, the way the captain said nothing but watched him like he was being worshipped, and maybe he was.

Soap hollowed his cheeks, sucked slow and deep, saliva pooling, spit spilling down his chin. He pulled off, let a strand of it break between his lips and the flushed head of Price’s cock, then went back down again: deeper, messier.

“Fuck, Johnny,” Price muttered, breath catching. “You really get off on this, don’t you?”

Soap moaned around him.

“You get hard just thinking about it? Bet you’re leaking already.”

He was. Fuck, he was soaked through. Cock straining in his shorts, untouched, throbbing.

Price’s voice dropped lower, casual, almost cruel in its control.

“Look at you. So eager to please. Bet you’d stay here all night if I let you.”

Soap gagged slightly, pulled back, then forced himself down again, the stretch brutal and utterly satisfying. His nose pressed to Price’s skin. He moaned around the weight of him, hands gripping the backs of Price’s thighs to hold himself steady.

“Atta boy,” Price said, voice thick now. “You’re taking it so well. Fuck, you want him to see this, don’t you?”

Soap jolted, him ? There was no question who Price meant. The name wasn’t said, but it hung there, heavy, undeniable.

The words punched straight through his gut, lit him up from the inside. His cock jerked, hard and needy, and his brain stuttered trying to catch up. It was filthy, brazen and wrong.

And he couldn’t stop the way his head started to nod.

“Yeah?” he rasped. “You’d like that? Being watched? Like bein’ shared? Like the fucking gift you are?”

Soap moaned around him, head bobbing faster now, desperate, driven. Nothing but need.

Price’s voice was almost a growl. “You know how good that feels? Mouth hot and tight and so fucking eager, Christ, Johnny.”

Soap pressed a hand against himself, hips moving forward like he couldn’t help it, cock leaking and painfully hard. Every breath was ragged, every movement frantic. He palmed himself through his shorts, chasing friction, chasing anything.

“Gonna come, Johnny. Don’t stop.”

Soap didn’t. Couldn’t. He swallowed around him: deep and messy, throat working greedily as Price groaned and came hard, thick and bitter, and Soap took it all.

The taste, the sound and the weight of it broke something open in him.

His hand squeezed tight. One rough stroke, two, and he was coming too, without warning, come spilling hot into the fabric of his shorts as he groaned around Price’s cock, eyes squeezed shut, ruined.

Price’s hand came down, light at the back of his neck. Just there, warm and grounding. He stayed softening against Soap’s tongue, hips barely twitching.

Soap let him go with a slow pull, tongue catching one last drop at the tip, eyes fluttering shut as he swallowed again, like he wanted to keep it. Hold it down like proof. He wiped his mouth on the back of his wrist, breath catching as the reality of it began to seep in, thick as the mess in his shorts.

He looked up, dazed and flushed. “Christ…”

Price didn’t answer right away. His eyes stayed locked on Soap, expression unreadable, watchful.

That was when Soap heard it.

A sound from behind, low but unmistakable, not the soft creak of a hinge or the subtle whisper of a door shifting ajar, but the finality of it closing. A clean, solid shut.

He blinked, disoriented. “Was that...?”

Price didn’t speak. He just raised an eyebrow, slow and deliberate, like the answer should have been obvious.

Soap’s chest rose and fell as he tried again, quieter this time. “Was that him?”

At last, Price smiled. It was a flash of teeth, smug and amused. “Aye.”

Soap stared at him. “Ghost?”

“He came in just when you were getting started,” Price said, adjusting his stance and reaching for his waistband with infuriating calm. “Didn’t say a word. Just watched.”

Soap’s mouth dropped open. “Watched?”

The word landed strangely in his mouth, heavy and hard to swallow. He stared at Price, waiting for the punchline, the correction, anything. But none came.

“From the doorway,” Price continued, voice maddeningly even. “Stood there like it was the telly.”

Soap’s breath caught. His knees were still pressed to the tile, the ache of them barely registering. The image hit him hard: Ghost, silent and unmoving, standing just out of reach, arms likely folded, watching every second of it. Watching him fall apart on his knees, mouth full and eager.

He almost choked on the thought.

“And he didn’t say anything?” he asked, voice thin.

“No,” Price said, popping the button on his trousers, all calm detachment. “Didn’t need to, did he?”

Soap sat back on his heels, heart hammering. Embarrassment prickled cold at the edges of his chest, but it tangled with something else, that felt hotter, deeper. Want. Undeniable and already pulsing back to life.

He let out a breathless laugh, trying to steady himself. “Christ. Hope he left a review.”

Yet even through the cling of soaked, ruined shorts, Soap’s spent cock twitched again.

Notes:

At first when I drafted out the idea of the truth or dare game (emphasis firmly on truth) I was a bit hesitant. Does this feel a bit juvenile? But look, I’ve seen videos of what these military guys get up to! This seems bloody tame in comparison.

Also, yes, I was vague about what game they’re actually playing. That wasn’t deep symbolism, I just know exactly three card games: Go Fish, Solitaire, and a Spanish one called Brisca. I did toy with the idea of strip poker, but a) I know my limits (mostly), and b) I genuinely have NO idea how to play poker.

Anyway, as I was writing (and rewriting) this fic, the idea that really stuck was: what if the boys (and man, because calling Price a “boy” feels deeply wrong) were trapped somewhere hot, sweaty, and increasingly unstable? Somewhere that feels like a pressure cooker. A pétri dish of sexual frustration. Let’s make them sit in it.

It may have also given me an excuse to picture lots of glistening, sun-kissed bodies. So, you know... Creative motivation.

Chapter 3

Notes:

Surprise update! Partially in celebration (and in mourning) of me getting the job!

(See the end of the chapter for more notes.)

Chapter Text

Soap often had the best ideas when under pressure. It’s part of what made him a good soldier, he reckoned anyway. Quick thinking. Improvised solutions. Tactical bullshit dressed up as brilliance.

But apparently nothing, nothing, compared to the pressure of thirty nine degrees, barely-there air con, and the sensation of slowly stewing in your own skin. So when he found the rusted remains of a fence post out behind the safehouse, and a length of coiled garden hose attached to a tap meant for an irrigation system, he put two and two together and invented salvation.

The hose didn’t spray. It spilled, a thick, fast arc of water that shot out with surprising pressure. And it came up from somewhere underground, a spring maybe, or a long-sunken tank, but the result was cold. Gloriously cold. Slap-you-in-the-chest cold.

He’d slung the hose over the post, secured it in place with layers and layers of duct tape, and called it a shower.

And now he was under it.

Naked, mostly. Just boxers clinging for dear life to his hips. The rest of him was bare and grateful. The cold sluiced down his back, over his chest, down the cleft of his spine in rivulets that made his muscles twitch.

He gasped, half-laughed, and braced a hand on the post, head tipped back. Let it run through his hair.

It felt fucking heavenly.

"You're going to catch cold doing that."

Soap flinched. Twisted. Price stood a few feet away, arms crossed, boots planted wide in the dust. He wasn’t wearing a shirt. Just fatigues rolled down to the waist, skin golden and fucking glowing in the late light. Watching.

Soap huffed. “Christ, you move quiet.”

Price shrugged. “You make noise enough for both of us.”

Then he stepped forward, crossing the dirt without hesitation. “Shift.”

Soap blinked. “You’re—?”

“Joining you.”

He kicked off his boots, peeled away his socks, then tugged his fatigues down and stepped free, leaving them crumpled in the dust. Down to just his briefs now, dark, low on his hips, clinging in utterly sinful ways.

And with that, Price stepped beneath the stream. The flow hit him square across the shoulders and he let out a low, guttural breath. “Fuckin’ hell.”

Soap laughed. “Good, aye?”

Price ran both hands back through his hair, slicking it away from his forehead. Water poured over him, cutting paths through dust and sweat, tracing the cut of his torso, the scar just above his ribs. 

Soap couldn’t look away.

Price glanced sideways. Saw the stare. Didn’t comment. 

They stood in silence a while, shoulder to shoulder, the makeshift post groaning slightly under the weight of its new purpose.

Then Soap said, quiet, “Ghost’s gonna kill us if we use all the water.”

A pause.

Dust crunched behind them: soft, but distinct. A presence.

Then a voice, low and flat: “Already planning it.”

Soap startled again, nearly tripping over his own feet.

Ghost stood just behind them, surgical mask in place, jaw set. He’d stripped to his combat trousers, bare-chested, skin streaked with grit like he’d been doing drills out in the dust, and knowing the mad bastard, he probably had and all. His eyes flicked between them.

“Don’t let me stop you,” he added, stepping forward.

Ghost walked up to them both, to the edge of the stream. Then he hooked his thumbs into the waistband of his trousers and pushed them down, letting them fall. He stepped out of them, deliberate, unbothered, and then reached for the mask.

It came off in one smooth motion. No ceremony. No explanation.

Just skin.

He dropped it beside his boots. Scarred, visibly so and beautiful, in a way that was hard-edged and impossible to ignore. The kind of face you looked at and felt something.

Soap stared, breath caught. Price said nothing, but his attention didn’t waver.

Watched as water dragged across Ghost’s back. Watched the way his shoulder muscles flexed, the tattoo ink gleaming. Watched as he reached up, tilted his head back, and let it run over his face.

None of them spoke.

Then Soap stepped closer. Just a hair.

Price didn’t move. Neither did Ghost. Three bodies now, all within arm’s reach. The sun dipping low. And everything tightening.

Soap said, almost lightly, “Could’ve just asked to join us.”

Ghost turned slightly. Looked at him. “Didn’t want to interrupt.”

His gaze dropped, deliberate, to Soap’s bare chest, still wet, still flushed. Then to Price. Then back.

Price’s voice came low, loaded. “You’re not interrupting.”

It landed like a match dropped into dry grass.

Something in Ghost’s shoulders shifted, barely a twitch. Soap felt the air ripple with it. All that heat. All that waiting.

And then Price turned. Not fully. Just enough to look at Ghost properly, to tilt his chin in that infuriatingly calm way of his. 

“You’ve been watching him,” Price said.

Ghost didn’t answer, but his throat bobbed. His hands flexed once at his sides before curling back into fists. Soap saw the want plain in it, tight, hungry, and barely restrained.

Ghost’s eyes didn’t move. “What of it.”

“Just seems unfair to make you keep doing it from a distance.”

Soap’s heart stuttered. “ John—

A hand caught his waist. Steady and warm despite the cold water.

“Don’t you want to be touched properly, Johnny?” Price asked, soft as smoke. “You’ve looked like you were starving for it for days.”

Soap opened his mouth, to deny it, to argue, he didn’t know, but the breath stalled in his throat when Price stepped in closer to Soap’s side. Their bodies pressed close, water pooling between them, and Price tilted his head to murmur against Soap’s ear.

“You’ve been showing off for both of us.”

Soap’s knees nearly buckled.

Then Price shifted his gaze toward Ghost, who stood frozen under the spray, eyes sharp beneath the shadow of his brow.

““Well?” Price asked, voice still maddeningly calm. “You just going to stand there?”

Ghost stepped forward, the distance between them vanished. Then his hand, warm and rough, landed on Soap’s throat. Not choking, not even squeezing. Just resting there, claiming him. There was no hiding the way Soap’s pulse was racing. 

“Fuckin’ hell,” Ghost muttered, voice low and tight. “You really don’t know what you do to people, do you?”

“Been tryin’ not to,” Soap rasped.

Ghost’s thumb brushed his jaw. “Try harder.”

Price chuckled beside him, dark and low. “Don’t tease him too much, Simon.”

“I’m not teasin’.” Ghost’s palm slid lower, across Soap’s chest, tracing the curve of his sternum like he owned it.

Soap stood there, shaking under their hands.

Price’s thumbs found the waistband of Soap’s boxers.

“You still want this?” he murmured, voice hot against Soap’s ear.

Soap nodded. Managed a broken, “Please.”

That was enough.

Price pushed the boxers down, and Ghost helped, tugging them past Soap’s thighs, peeling them off like he’d been waiting for the chance. Then Soap was bare, water still hammering down from the hose, body slick and shivering.

Price turned him until Soap’s back met his chest, firm and warm. He could feel the hard line of him, and it made him shudder.

“Put your hands on him,” Price ordered, voice thick. “Let him feel it.”

Ghost stepped closer. Fingers mapped his ribs, his waist, the inside of his thighs, reverent, almost brutal in their hunger. His mouth followed, dragging along Soap’s jaw, his throat, his shoulder.

“You feel that?” Price murmured, tongue hot at his neck. “You’ve got us both now. Like you wanted.”

Ghost’s voice came next, lower, right against his ear. “No more pretendin’, Johnny.”

Soap sucked in a sharp breath. Didn’t mean to react, but there it was: undeniable.

Ghost dropped to his knees without fanfare. His eyes still locked on Soap’s body like he’d been holding this in since the first time he watched.

Soap thought of that night: the dark room, Price’s hand on his shoulder, Ghost silent in the doorway like a shadow stitched into the frame. Watching him kneel. Watching him swallow. Watching him come undone with his mouth full and his eyes half-shut, caught between control and worship. He hadn't said a word then. Just looked .

“You’re fuckin’ hard,” Ghost muttered, voice guttural. “Of course you are.”

“Not my fault,” Soap panted. “Look at yourselves—”

Ghost didn’t answer. Just swallowed him whole.

Soap cried out, loud and sudden, head tipping back against Price’s shoulder as Ghost sucked him down in one long, devastating stroke. No hesitation and absolutely no mercy. His mouth was hot, deep, addictive, tongue curling under the head and dragging down the shaft with obscene precision.

Price kept him steady, arms like a cage, whispering filth into his ear.

“That’s it, Johnny. Fuck his mouth. Take what you need.”

Ghost groaned around him, the low rumble vibrating right up Soap’s spine. His hands slid into Ghost’s hair, not yanking, just grounding. He needed it, the contact, the weight of it, the sheer surreal pressure of this actually happening.

He pulled his hips back, slow, then pressed forward. Testing.

Ghost’s eyes snapped up to meet his. The heat in them was staggering. Dark, searing. Soap did it again, harder this time, and felt Ghost’s mouth relax to take him. No resistance, just open, liquid heat.

Again. Deeper. A silky, smooth glide down the back of Ghost’s throat.

Then Ghost gripped him, rough hands clutching at his arse, dragging him forward on the next thrust. Guiding him. Urging him to let go. Setting the rhythm.

Soap’s head tipped back. His eyes rolling back until they fluttered shut, and his mouth fell open as he sank in again, cock sliding down into that relentless, burning warmth.

“Christ,” he gasped, “I’m—fuck, I’m close—”

“Hold on,” Price said, voice low, steady. Then, with quiet command: “Simon. Stand up.”

There was a beat, just long enough to feel like defiance, before Ghost pulled back with a final drag of tongue and breath. He looked up at Soap, eyes hooded, mouth wet, and for a second didn’t move.

Then he exhaled hard through his nose, pushed up to his feet, and stepped back without a word, jaw tight and reluctant. But he did as he was told.

Price was already moving. Hands on Soap’s hips. Turning him. Bending him forward against the post.

Then fingers spread him open.

“Fucking hell,” Price murmured. “Look at you. All wet and wanting.”

“John—” Soap managed, but any further words collapsed as soon as he felt it—

The first hot, slow, filthy lick.

Price’s mouth between his cheeks, tongue lapping broad and firm over his hole, teasing and tasting like he was starved for it.

Soap sobbed. Actually sobbed.

“Oh fuck—fuck—please—please”

“Keep still,” Price warned, tone dark with hunger. “Let me have you.”

Ghost fisted his cock with slow, punishing strokes, watching like a man starved. His free hand dragged down Soap’s spine. 

“You’ve no idea how fuckin’ pretty you are like this,” Ghost said, voice taut, like it cost him not to touch more. “Drippin’. Beggin’. Like someone designed you for this.”

Price’s tongue plunged deeper now, fucking him with slow, dogged determination. One hand gripped Soap’s hip, the other slid lower, fingers pressing against his rim in tandem with the rimming, coaxing him open with obscene precision.

“You want more?” Price asked, breath hot. “Want my fingers in you?”

Soap nodded frantically. “Yes—please—God, I—”

Price didn’t wait. Slipped one thick finger in, then two, the stretch blinding. His tongue still moved around the rim, lips against Soap’s skin.

“You’re so fucking tight,” Price hissed as he pulled back, still close enough that Soap could feel the words against his flesh. “Could wreck you like this.”

Soap gasped, shuddering hard as his hips jerked forward, into the air, into Ghost’s waiting hand.

Ghost stroked him slow and firm, the glide made easy by the precome that was leaking steadily from the tip. “You’re going to come for us, aren’t you?”

Soap nodded, unable to speak any longer.

Price curled his fingers just right, hitting something that made Soap yell out a curse.

“Come, then,” Price growled. “Come while I’ve got my tongue in your arse and Simon’s got his hand on your cock.”

Soap broke.

Spilled across Ghost’s palm with a sound he’d never made before, something wild, wrecked, relieved.

Price didn’t stop. Lapped him through it. Worked him until he whined, overstimulated, boneless and fucked out.

Only then did they let him fall. Ghost caught him first, one strong arm wrapping around his waist, easing him upright. Price rose behind him, hands steady, guiding. Between the two of them, Soap found his feet, barely.

They held him there, water streaming down all three of them. Skin on skin. Breath shared in the small space between gasps.

Ghost leaned in close, lips brushing Soap’s damp neck. “Next time,” he murmured, dark and certain, “I’m goin’ to have you on your back. And I won’t stop 'til you’re comin’ with me inside you.”

Soap let out a hoarse laugh, dazed and glowing.

Price shifted beside him, warm breath at his shoulder before he pressed a slow kiss to the curve of it. “You alright?”

Soap nodded against his chest. “Aye. Fuck. I am now.”


Later, long after the water had run dry, Soap lay open. Flat on his back, legs spread wide, knees hooked over Ghost’s forearms. His body was flushed and trembling. Breathing hard. He’d been edged for what felt like hours, first by Price’s mouth, then Ghost’s fingers, slick and thick and slow as sin. Now there was nothing left but need.

Ghost knelt between his legs, broad shoulders bracketed in tension. His cock was dark, glistening, heavy at the base. He pressed the tip against Soap’s hole, dragging it through the wetness.

“He’s ready,” Ghost said, voice rough, almost hoarse.

Price sat at Soap’s side, calm as a loaded rifle. He didn’t look at Ghost, he looked at Soap. A hand slid across his chest, fingertips pausing at each rib.

“You want him to fuck you?” Price asked, controlled but edged in something rougher.

Soap nodded, breathless. “Yes—fuck, please—”

Price’s thumb brushed across his nipple. “Tell him.”

Soap’s eyes fluttered. He turned his head, barely able to hold Ghost’s stare.

“Simon. Want you inside me. Please. Want to feel you—need it.”

That was all it took.

Ghost’s hand locked around his own cock, guided it down, and pressed forward.

Soap cried out, hips trying to lift but Ghost had him firmly in place. The head slid in, fat, unrelenting, a burning stretch that sent stars to the back of Soap’s eyelids. He sucked in air through clenched teeth.

“Jesus fuck—he’s tight,” Ghost hissed, voice torn.

“Slow,” Price ordered. “Breathe with him. Fill him one inch at a time.”

Ghost obeyed. He pushed in steady, thick inches spreading Soap wide, deeper with every breath. Soap's fingers scrabbled at the sheets, thighs shaking around Ghost’s arms.

By the time Ghost bottomed out, their hips flush, Soap was wrecked: drooling, gasping, cock leaking across his stomach. Ghost stilled, forehead dropping to Soap’s thigh.

“Fuckin’ hell,” he panted.

Price leaned closer, fingers tracing the outline of Soap’s jaw. “You’ve got him now, Johnny. Deep inside. That what you wanted?”

Soap’s voice came out ragged. “Y-yeah. Yeah—feels—full—fuck—”

“Good lad.” Price looked at Ghost. “Now fuck him.”

Ghost pulled back, hips shifting with a slow, filthy drag. Then drove back in.

Soap choked on a sound that wasn’t quite a moan. “Ah—fucking—Christ—”

“Deeper,” Price said. “Let him feel your weight.”

Ghost adjusted his grip. His hips snapped forward again, harder this time, the impact punching a broken sound from Soap’s throat. His arse slapped loud against Ghost’s pelvis. Again. Again. Again.

Soap was coming undone. Ghost filled him thick and merciless, each slap of skin, each stretch, each pulse of heat too much to bear. His cock bounced with every thrust, untouched and aching, leaking down his belly.

He whimpered. “Please—touch me—can’t—”

Price shook his head. “Not yet.”

He watched the way Soap arched. The muscles twitching in his thighs. The way Ghost’s hands dug hard into his hips, dragging him back onto each thrust like he owned him.

“You see him?” Price murmured to Ghost. “You’re splitting him open. And he loves it.”

Ghost grunted, pace stuttering, hips grinding deep before pulling out again. His cock was slick to the root, Soap’s hole clenching around every retreat.

“Fuck,” he growled. “He’s milkin’ me.”

“Not yet,” Price said again, sharper now. “Hold it.”

Ghost’s jaw clenched. His arms shook with the effort.

“Touch him,” Price said then, to Ghost. “Stroke his cock. Let him feel both of us.”

Ghost obeyed instantly.

His hand left Soap’s hip, stroking his cock rough and sure, matching the thrust of his hips. Obscene sounds joined the slap of skin. Soap’s moans climbed: higher, tighter, desperate.

“I can’t—” he gasped. “I—God—I’m—”

“You come,” Price ordered, “when Simon does. Not before.”

Soap sobbed.

Ghost’s rhythm faltered. His grip on Soap’s cock tightened. His breathing broke apart.

“John—can’t—he’s fucking—”

Price leaned in, mouth at Soap’s ear.

“You want it, Johnny? You want to be filled while you’re spilling for us?”

Soap nodded frantically, eyes wild.

Price looked to Ghost.

“Do it.”

Ghost snapped forward one last time and came hard, cock buried to the hilt, hips grinding deep, a snarl torn from his throat. Muscles shaking as he emptied himself inside.

Soap followed with a cry, head thrown back, cock pulsing in Ghost’s hand, come striping across his chest and stomach. His whole body jerked, legs spasming, mouth open around a moan that sounded almost like a sob.

For a long time, none of them moved. 

Ghost remained inside him, his hand still curled around Soap’s cock as if reluctant to let go. Eventually, Price reached out and brushed the hair from Soap’s brow, then leaned in to press a slow kiss to his skin. When Ghost finally pulled back, his cock dragged wet and soft from Soap’s body, leaving him open and aching. Come spilled in slow, hot trails down his thighs, stark against skin already cooling in the air. Everything felt raw: his chest heaving, limbs twitching, nerves lit up and humming like wires.

Price shifted first. Rolled onto his side and reached out, fingers trailing up Soap’s torso, slow, grounding. His palm splayed flat over Soap’s chest, warm and sure.

“You did so well,” Price murmured.

His voice was low. Soft in a way that didn’t match the rough edge of what had just happened, but that made it land even harder.

“So fucking well, love.”

Soap blinked. His breath stuttered. His body had already gone slack, fucked out and shivering. But those words hit something deeper. Something fragile and buried.

Love.

It cracked open his chest like a faultline. A breath trembled out of him, and then his face twisted, sudden, helpless, and he turned his head away, trying to blink it back. Too late. The first tear slipped free. Then another. Not sobbing, just silent. Overwhelmed.

Ghost shifted closer behind him, big arm wrapping gently around Soap’s waist, hand steady on his belly. “Oi,” he said, quiet, not pushing. Just there.

Price leaned in too. Pressed a kiss to Soap’s temple, then rested his forehead there.

“You’re alright,” he told him, voice soft. “We’ve got you.”

Soap nodded, barely. Couldn’t speak. His face was wet.

Price’s hand stroked slow across his ribs. “You held on. You took everything we gave you. And you still asked for more.”

Soap let out a shaky breath, half-laugh, half-sob. “Didn’t know I needed to hear that.”

“You did,” Price said. “And you’re going to hear it again. As many times as you need.”

Ghost’s mouth pressed to the back of his neck, nothing sharp in it now, just warm and steady contact. He didn’t say anything. Didn’t need to.

They stayed there, Soap between them, hands on his skin, breath on his face, tears drying slow.

Notes:

Me re-reading the hose description while proofreading with this expression 🤨realising it’s one long euphemism. I worry myself with the way my brain works sometimes.

Aaaaand we officially reached threesome! Poor Soap got a little overwhelmed at the end there, huh? I mean you would, wouldn’t you. That’s some of that good catharsis shit 🙂‍↕️

Also, a quick life update: yes, I am once again gainfully employed!
Sayonara, freelance life (you exploitative arsehole), and hello to corporate stooge-dom. This does, unfortunately, mean I can no longer devote myself full-time to the noble art of smut. But fear not, there’s a Gaz/Soap fic already taking seed in my brain, and I promise I’ll keep finding time to sneak in some writing between being a cog in the capitalist machine.

Series this work belongs to: