Work Text:
The hotel looked exactly like every other motorway hotel Ghost had ever seen: anonymous. Cheap red brick, sign half-lit. Car park almost empty. Reception was manned by a kid in a navy fleece who barely looked up when they walked in.
Perfect.
Ghost said nothing as they checked in. He stood there in civvies, mask on, hood up, arms folded. Soap did the talking: something about the booking, a card on file, “cheers, mate.”
Room key handed over. End of corridor, first floor.
No lift.
Ghost led the way up the stairs.
The door opened with a whine. White walls. Blue carpet. Small desk. Double bed. Curtains bolted to a rail.
Standard issue, like everything else in his life.
He stepped in first.
Checked the lock. Bolted it. Slid the security bar across. Then went straight to the windows: fingers at the edges, testing the latch. Checked behind the thin curtain, the radiator, under the bed. Quick sweep of the bathroom.
It was all clear. Obviously.
But he had to do it anyway.
Soap leaned against the doorframe, watching him with one hand still in his jacket pocket.
“You done?”
Ghost straightened up.
“For now.”
Soap stepped in, let the door close behind him. Dropped the bag by the wall. Stretched his shoulders.
“Smells like carpet cleaner and broken dreams.”
Ghost didn’t smile, but he was listening.
Soap toed off his boots, dropped down onto the mattress with a soft oof, palms behind him.
“Think the telly works?”
Ghost glanced at it, a 22-inch thing bolted to the wall. Remote in a plastic sleeve.
“Doesn’t matter.”
Soap looked at him then. Really looked. Quiet for a moment.
They both know what’s coming.
It’s not here yet, but it’s circling. Close.
Ghost finally pulled his hood down. Unzipped his jacket. He stayed standing by the desk, still as anything.
“Last chance to back out.”
Soap snorted.
“Don’t be thick.”
Ghost didn’t look away.
“I mean it.”
Soap leaned back on his elbows.
“So do I.”
They settled on a curry. Soap ordered: chicken tikka, garlic naan, something Ghost barely registered.
The food arrived in thirty. Plastic bag. Styrofoam tubs. Warm, spiced smell that cut through the hotel-room staleness.
They ate at the small desk. Side by side. No telly on.
Ghost sat stiffly, bare forearms on the table, slowly picking through his food. Soap was halfway through a bhaji, foot nudging his under the table, casual.
“You alright?”
Ghost was warm. Warmer than he should have been. Skin tight over his ribs. Jaw clenched without realising.
His gaze flicked to Soap’s mouth. Back to the food.
He reached forward. Picked up a piece of naan.
“Here,” he said. Held it out.
Soap lifted a brow.
“Can manage, y’know.”
Ghost didn’t move.
His pupils were wide. Blown black.
Soap saw it. Froze for half a second. Then slowly put his own fork down.
Ghost was still holding the naan. A single corner pinched between his fingers.
Soap leaned forward. Took it from his hand with his mouth. Chewed, swallowed, licking a bit of oil off his bottom lip.
“Tastes better like that.”
Ghost picked up a bit of chicken next. Still hot. Pressed it gently to Soap’s lips. Soap opened.
No hesitation this time.
Ghost fed him in silent focus. Piece after piece. Fingers brushing Soap’s mouth, grease slicking his knuckles.
Soap’s eyes stayed on his.
The food cooled.
But Ghost’s skin kept warming.
There was a bath in the en suite.
Not a posh one. Just deep enough, with a dodgy tap and a faint line of scale round the enamel. But it held water, and it was hot. That was enough.
Soap stripped without ceremony, dropping his clothes into a pile on the floor.
Ghost didn’t watch him undress, not fully. But he was aware. Every inch of Soap’s skin felt like a pressure point in the air between them.
Soap stepped in, hissed as his legs lowered into the water.
“Fuck me, that’s warm.”
Ghost was already crouching beside the tub, sleeves rolled to his elbows, hand testing the temperature with the backs of his fingers.
“Too hot?”
“Nah.” Soap exhaled as he sank deeper. Neck, then shoulders, then arms along the sides.
He closed his eyes. Let go.
Ghost stayed where he was.
His mask was still on, sleeves damp at the cuffs, one hand resting on the edge of the tub. He didn’t look at Soap’s chest, or his thighs, or the way the water beaded off his skin. Couldn’t. Not right now.
Soap opened one eye.
“You gettin’ in?”
Ghost shook his head.
Soap studied him.
“You gonna wash me?”
In answer, Ghost picked up the flannel and ran it under the water.
Soap let out a short laugh.
“Alright, then.”
Ghost dipped the cloth, wrung it. Started with Soap’s shoulder. Neck. Down his arm.
Soap’s eyes closed again. His breathing slowed. The water rippled with the smallest movements.
Ghost’s knuckles were wet. The flannel loose in his hand, dragging lukewarm water across the top of Soap’s thigh.
Ghost stilled.
The water between Soap’s legs was different.
Silky. Slick.
That telltale viscosity clung to his skin, to Ghost’s fingers.
Soap’s breathing hadn’t changed. Still slow. Relaxed. But his cock was half-hard against his belly, twitching. Reaction, his body knew what was coming. What it wanted.
Ghost put the flannel down.
His hand slid under the water again.
Down the same path, between Soap’s legs.
His fingers found the slick where it gathered, a warm slip at the rim of him, soft and obscene and fucking perfect.
He pressed in, two fingers, slow, and met no resistance.
The grip, the stretch, the way Soap’s body took him without effort.
His fingers curled slightly. Held.
“Fuckin’ hell,” Soap murmured.
Ghost beside the tub like a penitent man, sleeves rolled up, arm sunk to the wrist between Soap’s legs.
Soap tilted his head back, eyes half-lidded.
“You’re really not gettin’ in, are you?”
Ghost grunted.
Soap huffed a laugh, jaw slack:
“Didn’t think so.”
Ghost curled his fingers slightly, dragging them along the inside wall.
Soap inhaled, sharp.
His thumb braced against Soap’s thigh. The other hand stayed steady on the tub’s edge, knuckles white.
Another curl. A press. Right there.
Soap twitched.
Then again. Firmer. Tighter.
That spot.
Soap groaned, head tipping back against the wall, mouth slack.
Ghost closed his eyes for a beat.
The water shifted more now, small waves, splashing lightly against the sides.
Soap’s hips started to roll. Following the rhythm.
Then harder.
His hands gripped the edge.
Legs spreading wider.
Water sloshed over the side. Onto the tile. Onto Ghost’s jeans. He didn’t move.
He hit that spot again. Again.
Watched the reaction.
Soap's cock was fully hard now, flushed and bobbing, leaking into the water.
“Jesus, Ghost—”
Working faster, targeted.
Soap bucked.
Water splashed.
“Fuck, fuck—”
He was fucking himself on Ghost’s hand now, chasing it, body greedy and unfiltered, hips jerking up with each thrust. The bath slapped wetly beneath him.
Soap’s thighs trembled. One hand slipped off the edge, hit the water.
“Gonna—”
Ghost curled his fingers hard, one last drag right on that swollen spot.
Soap choked on the moan.
And came.
Cock jerking against his stomach, body seizing in the water, mouth slack and wet with curses he didn’t finish. Water spilled over the side, soaking the floor.
Ghost pulled his hand out when Soap went limp.
His fingers glistened. He didn’t wipe them.
He rested his forearms on the edge of the tub. Still crouched.
Soap’s chest was heaving.
“You—” His voice was gone. He cleared it. “You didn’t even take your fuckin’ boots off.”
Ghost finally breathed out.
“Didn’t want to slip.”
The bathwater had gone tepid by the time Ghost finally pulled the plug out.
Soap was half-draped over the rim of the tub, eyes glassy, damp hair stuck to his forehead. He looked boneless. Spent.
Ghost stood first. Reached for a towel. Wrapped it around Soap with care, as if he was handling something volatile.
“Up,” Ghost muttered.
Soap blinked at him. “M’up.”
“You’re horizontal.”
“Semantics.”
Ghost slid an arm behind his back, another under his knees, preparing to lift.
Soap’s eyes widened enough to register what was happening.
“Bloody hell, mate—” He swatted at Ghost’s hands, more lazy than forceful. “I’m not made of glass.”
“You can barely stand.”
“I can absolutely stand.”
He demonstrated this by attempting to stand.
His knees buckled almost immediately.
Ghost caught him before he hit tile.
Soap snorted into Ghost’s shoulder. “Slippery floor. Sabotage.”
Ghost didn’t dignify that with a response.
Soap pushed at his chest. “Save it,” he muttered, stifling a yawn. “For when I actually need it.”
Ghost paused.
Soap’s head lolled back slightly, eyes half-closed. “Give it a day or two,” he added. “I’ll be a proper mess by then.”
He said it lightly. A joke. A promise. Maybe both.
Ghost’s hands tightened without meaning to.
A day or two.
The thought hit in layers.
Anticipation was hot in his gut. The knowledge of what was still coming. What his body would demand. What he would want.
And under it, quieter, colder: worry.
About how far it would go.
About whether he’d misjudge something.
About whether Soap would laugh it off again when he shouldn’t.
Soap yawned wide, pressing his forehead briefly against Ghost’s collarbone. “Don’t look like that,” he mumbled. “I volunteered.”
“I know.”
He didn’t fight when Ghost lifted him this time.
Just draped himself over Ghost’s shoulder with a sigh, towel slipping, arms hanging loose. “If you drop me, I’m tellin’ Price.”
Ghost carried him to the bed.
Set him down slow. Adjusted the pillow. Tugged the duvet up without comment.
Soap was already halfway under. Eyes closing.
Ghost looked down at himself like he’d only just remembered he was still dressed.
Soap cracked one eye open.
“You’re gonna mildew,” he murmured, barely audible.
Ghost ignored him, headed back to the bathroom.
He peeled off his jacket first. Dropped it on the radiator. The fabric hit with a wet thud. Then his shirt: dragged it over his head in one motion and wrung it out once over the sink, watching water spiral down the drain.
Ghost stepped out of his jeans next, rolling the damp denim down his legs, leaving them in a heap by the bathroom door. His boots were already off, abandoned somewhere near the tub.
He toweled himself down briskly, thoroughly and without indulgence.
By the time he crossed back to the bed, the room felt cooler.
He turned off the light and lay down beside Johnny, careful not to crowd, even though every instinct screamed otherwise.
He was hard. Still. Cock flushed and aching. Rut was coming on stronger now: heat beneath his skin, sweat clinging to his back even in the cool air.
One hand rested on Soap’s ribs. Thumb brushing slow against bone. The other tucked under his own pillow, jaw pressed into his bicep.
Soap shifted. Not much, just a stretch of one leg, foot bumping Ghost’s ankle.
“Figured I’d be bent over by now.”
Voice soft. Drowsy. Closer to a joke than a complaint.
Ghost let out a laugh, rough and short.
Soap huffed. Didn’t open his eyes.
“M’just saying. Wouldn’t have been offended.”
Ghost’s fists clenched once in the dark. Then loosened.
A day or two.
He stared at the ceiling for a long time before sleep even considered touching him.
Soap woke to dawn light filtering in and the warm thrum of a rare full night’s sleep.
He blinked. Swallowed.
“Could murder a fry-up,” he muttered into the pillow. “Bacon. Hash browns. That fake orange juice—”
He rolled onto his side.
Ghost’s face was right there. Still bare, still unmasked. Close enough Soap could see the faint crease between his brows, the way his eyes were already open, already on him.
Soap’s brain caught up in pieces.
The tension in Ghost’s jaw. How his body was coiled, wound tight.
“Ah,” Soap said, dumbly.
Ghost moved.
Soap barely had time to register it before Ghost’s hand was on his hip, rolling him onto his back. Thighs lifted, hooked up and open like it was the most natural thing in the world.
Ghost’s mouth closed around him.
Hot, wet, deep, down in one. Tongue slick, throat open, jaw working already.
Soap let out a strangled sound.
Ghost sucked in answer. Hands firm on the backs of his thighs, holding him down, there.
Soap’s spine arched. His hands scrambled for something, the sheets, Ghost’s shoulder, the headboard.
“You—you’re really—”
He wasn’t even fully hard yet, still thickening on Ghost’s tongue, and Ghost was already groaning deep around him.
The rhythm picked up. Suck, slide, tongue under the head, down again.
And Soap was getting close. Fast.
Too fast.
He swore. Loud. Scots spilling out of him half-formed and furious.
He wasn’t ready, not for this, not for Ghost swallowing him first thing in the morning.
The grip on his thighs was bruising. Ghost’s mouth worked him with ruthless pressure. Spit slicked his cock, his balls, the crease of his thighs.
Soap’s heels dug into the bed. One hand scrambled for the headboard. His hips jerked once, twice, and Ghost just held him there, mouth full, throat working.
“F-fuck—I’m—!”
Soap came with a shout, whole body pulled tight and shaking. Ghost took it all.
When Soap slumped back, boneless, gasping, Ghost let him go slowly. Mouth dragging off with a wet pop, lips shiny, chin damp.
Soap tried to breathe.
But Ghost wasn’t done.
He licked the head, slow strokes of his tongue up the shaft, along the underside, cleaning him. Slick and spit and come gathered at the base, and Ghost chased it.
Soap twitched.
Then Ghost went lower.
Down over spent skin, under his balls, tongue dragging slick trails through the mess that had pooled there, between his cheeks, in the dip where his slick had gathered and clung to skin and hair.
Soap shouted.
His thighs jerked, whole body jolting, but Ghost just gripped tighter and licked again.
“Fuckin’ hell—Ghost—Jesus Christ—”
Ghost pressed his mouth flush to the rim, and started to lick: languid, indulgent. Not working him, not even teasing, just burying himself in it. Mouth full of him. Scent, taste, heat.
Soap’s breath stuttered.
Ghost lingered. Like he needed that contact, needed to get as close as he fucking could, and now that he had, he could breathe again.
Fucking mercifully, he didn’t stay there long.
Just a few more strokes, tongue slow, heavy.
He pulled back, and rested his forehead against Soap’s thigh. Damp skin to damp skin.
Breathing hard.
The bathroom door shut l, and a second later, the shower stuttered weakly to life.
Ghost stayed exactly where he was for three beats.
Then he stood.
The room still smelled like them, sweat, soap, the unmistakable scent of slick. The sheets were twisted. The imprint of Soap’s body still warm on the mattress.
Water hit tile in a steady rhythm.
Ghost took three steps toward the bathroom.
Stopped.
Turned back.
He sat on the edge of the bed instead, elbows on his knees, staring at the carpet.
The pipes rattled in the walls. Soap hummed something tuneless under the spray. Off-key. Comfortable.
Ghost stood again.
Walked to the door this time. The handle gleamed dull silver.
He didn’t touch it.
The water shifted pitch, Soap moving. A faint thud of bottle against tile. The slick drag of palm over skin.
Ghost ran a hand over his face. Dragged it down, like he could physically press the impulse back under his ribs where it belonged.
The door opened.
Soap stepped out into the room in a spill of hot air, water tracking down his shoulders, over his chest, along the line of his hips. He grabbed a towel off the radiator and scrubbed it through his hair.
“Nearly done,” he said. “Ain’t gonna nick all the hot water.”
He shot Ghost a quick look.
Then he hooked the towel around his waist and wandered back in.
He didn’t shut the door.
It stayed open a few centimetres.
The spray resumed.
Ghost stood there for a long moment. Close enough to see the edge of tile, the blurred outline of Soap’s shoulder through the steam.
He could walk in.
Could press him against the wall. Could—
He didn’t.
His hand came up, not to the handle, but to the frame. Fingers curling briefly against the wood.
The water ran.
Soap shifted inside, completely unbothered. Humming again. One hand braced against tile, silhouette easy and unguarded.
Ghost stepped back.
The door remained cracked.
Sat down on the bed, stayed there, listening to Soap hum.
Of course, Soap did get his breakfast.
It arrived not long after his shower, left outside the door by what passed for room service. Ghost brought it in and the smell filled the room immediately: bacon, beans, cheap sausage, overdone toast.
Soap was sitting at the desk in Ghost’s t-shirt, hair still mussed, eyes clearer now but edged with that loose-limbed satisfaction of someone who had been thoroughly handled at dawn.
“See?” he said. “Man’s gotta refuel.”
Ghost grunted and hovered while Soap picked up his cutlery.
Faint marks showed along the inside of Soap’s thighs, already fading. Ghost’s gaze lingered a fraction too long before he forced it away.
He was still hard.
He had woken that way and stayed that way. The ache had dulled to a steady pulse in his body that hadn’t let up once. He ignored it the same way he ignored pain on deployment: catalogued, contained, irrelevant unless it threatened the mission.
Soap took a bite and made a pleased noise.
Ghost lasted all of a minute before moving in closer, close enough that Soap had to tip his head back.
“C’mere.”
Soap frowned faintly. “I am here.”
Ghost took the cutlery from his hands, earning an outraged grunt, then bent and gripped his hips. He lifted him cleanly.
The chair creaked as Ghost sat down, settling Soap across his lap. He adjusted him once and locked an arm around his middle.
The contact did nothing to help. If anything, it made it worse.
Soap’s weight pressed against him. Heat through thin cotton. The line of his spine.
“Eat,” he said quietly.
Soap glanced down, then back up at him, understanding flickering in his eyes. He didn’t comment. He simply reached for the fork again.
Ghost’s arm stayed firm around him.
Every now and then Soap would move, adjusting the tray, shifting his legs, and Ghost’s breath would hitch almost imperceptibly before he steadied it again.
“You good?” Soap asked after a minute.
“Yeah.”
A lie, but not about the important part.
Soap shifted again in Ghost’s lap, deliberately this time, pressure right over the ridge of him.
“You need this.”
Ghost held him tighter, palm flat across his stomach like he could hold the moment steady if he wanted it bad enough.
Soap tilted his head, half-glanced back. “You do.”
He shifted again. Rolled his hips, dragging himself along the line of Ghost’s cock through jeans. Let out a soft groan at the friction.
Soap looked over his shoulder, eyes low-lidded, mouth flushed, and licked his lips.
“I want you, Simon.” Voice a little hoarse now. “Need you to make me feel good.”
Ghost’s fingers twitched against his stomach.
“Need you fuckin’ deep,” Soap murmured, like a secret. “Like you mean it. Like you’ve been thinking about it all fuckin’ night. Like I know you have.”
Ghost didn’t move, didn’t dare to fucking breathe.
“C’mon,” Soap pressed, and Ghost could hear the grin in his voice. Smug bastard. “Be a good lad. Give me what I’m askin’ for.”
And that—
That was it.
The sudden drag of Ghost’s hand down Soap’s front, hooking behind his knee, dragging his thigh up and wide.
“I fuckin’ warned you,” he muttered, voice thick and broken at the edges.
Soap had thought Ghost would snap.
Had braced for it: for rough hands, quick breath, the kind of desperate, rut-fueled need that would flip him over and drive into him without finesse. He’d wanted it. Had asked for it.
But what he got—
Was this.
It had been going on for ages.
Couldn’t say how long exactly, time had gone thick and slow. Muscles trembling, brain soft with it, breath hitching in his throat as Ghost fucked him in the same ruinous rhythm he’d started with and hadn’t broken once.
Soap’s forehead was to the mattress, arms aching, thighs open and useless. Couldn’t get a breath in right, not with the way Ghost kept hitting him. That same spot. That same unbearable stretch.
His mouth was open. Moaning. Sobbing, if he was honest. Saliva slicked the sheets under his chin. Every other sound came out half-choked, too thick, too full.
Ghost loomed over him, one hand between his shoulder blades, holding him down without pressing. His other was on Soap’s hip, steering.
Focused.
Laser-sharp on him.
“Christ,” Soap choked. “Christ, mate—”
“You feel it?” Ghost rasped. “Every time I push in?”
Soap nodded, frantic.
Ghost pulled almost all the way out, slow, and pressed back in until their skin met, until Soap yelped, voice breaking.
“Right there,” Ghost whispered. “That’s it.”
Soap let out a shattered moan. Couldn’t stop shaking. Couldn’t stop clenching down like his body didn’t want to let Ghost go.
He heard himself, the noises he was making, absolutely shameless. Barely human.
He didn’t care.
Didn’t want to care.
“Wanted to give it to you like this,” Ghost muttered. “From the second you walked in. But you had to push. Had to mouth off. Had to ask.”
Soap sobbed, loud and desperate. “You’re—fuckin’—”
Ghost kissed the back of his neck.
And kept fucking him.
Ghost could still feel it, the weight of it sat in his limbs. His knot was seated, firm and tight, and Soap's body was flush to his, open and soft and still letting him stay.
Ghost’s hand was splayed across Soap’s skin, fingertips moving in slow, careful lines. Down the faint dip of muscle. Across a scar he knew by touch. Back up to the place just under his ribs, where his skin was thinner, softer.
He wasn’t sure how long they’d been like this. Didn’t care.
Now it was Soap who shifted. Not enough to dislodge the knot. Enough to press back into him, to roll his hips a little, let him feel he was still wanted there.
“Didn’t think you had this in you,” Soap murmured.
His voice was light, despite the exhaustion. There was a smile under it, like he was trying to make it easier.
Ghost’s hand kept moving, tracing Soap’s form.
“I mean—” Johnny gave a quiet laugh. “—you, all tangled up like this, touchin’ like you mean it. I keep expectin’ you to vanish.”
“Still here, Johnny.”
Soap hummed, but it was subdued now. Less teasing.
“Yeah,” he said. “Just… never seen you like this.”
That was the real line. The one that mattered.
And it wasn’t a complaint. It wasn’t even a question. It was wonder, threaded through with something fragile. Something Ghost knew how to break without meaning to.
He stopped moving for half a second. Then let his hand slide up, across Johnny’s chest, to the center of it. Felt the thrum of his heart under his palm.
Ghost’s mouth was dry.
“It’s not just the rut.”
Soap tensed.
Ghost shifted closer, jaw against the curve of Soap’s shoulder. His voice dropped, not whispering, just closer to the bone.
“Not just biology. Not instinct. You get that, right?”
Johnny inhaled, a shaky breath like he wasn’t sure what to do with that.
Ghost let his hand rest over Johnny’s heart again. Stayed there.
“You hear me?”
He expected another joke. A deflection. Something that would let them back out of this before it got too raw.
But instead, Johnny twisted just enough to lace their fingers together where Ghost’s hand still rested against his chest.
“Yeah,” he said, voice thick. “I hear you.”
Ghost had stopped holding back, but he still made it about Johnny. Soap was worried he was going to lose his fucking mind every time the pleasure built.
Ghost was on top, buried deep. Treating Soap’s body as if it was something sacred, and he’d been trusted to handle it.
Soap had his hands in Ghost’s hair. A foot hooked behind his knee. His breath was already coming quick, but his grin was more teasing than the pace called for.
“You gonna always fuck me like this now?” he muttered. “Slow. Serious.”
Soap rolled his hips, testing. “You scared you’re gonna break me?”
Ghost grunted. “You want me to stop?”
Soap laughed. “Not even close.”
He shifted again, hips canting up with more force. The movement made Ghost groan, and Soap caught it, like he always did.
And then he said it.
Casual. Calculated to kill.
“You gonna put a baby in me, big man?”
Ghost froze.
For half a second. Maybe less.
Then his eyes flicked up: dark, stunned.
“What the fuck.”
Soap grinned, breath hitching. “What? You fuck like a man with a plan.”
Ghost’s hips twitched. Just once.
Soap leaned in, voice near his ear now.
“Go on, then—fill me up. Make sure it takes.”
Ghost growled.
“Johnny.”
“You love it,” Soap gasped, still laughing. “Me barefoot and pregnant, off the field, lettin’ you do the heavy liftin’?”
Ghost slammed into him.
Hard.
Soap’s voice cut off with a choked moan.
“You’d keep me home,” he panted, clinging now. “Wouldn’t let anyone else touch me. Wouldn’t let me do anything.”
“I’d fuckin’ chain you to the bed,” Ghost growled, fucking harder now, rougher. “You keep talkin’ like that.”
Soap was losing the ability to answer. His breath was breaking up, short, desperate gasps between curses.
“You’d—fuck—you’d ruin me, wouldn’t you?”
Ghost’s voice was nothing but gravel. “Already am.”
He shifted, grabbed Soap’s thigh, pressed it up and out, deepened the angle. Hit him just right.
Soap shouted.
“I’ll fuck you so full you forget how to walk,” Ghost snarled. “You want that?”
Soap didn’t answer with words, just took it, thighs shaking, eyes wild.
“I’ll fuckin’ put it in you,” Ghost muttered, barely coherent. “Every night. Make sure it sticks.”.
Soap barely managed a gasped out, “Fuckin’ finally” before Ghost really started.
It burned out of Ghost slow.
The edge dulling, breath evening out by degrees while he stayed braced over Soap like he didn’t quite trust himself to move yet.
Soap was sprawled under him, limbs heavy and useless. Sated in a way that made it hard to form words.
His grin was lazy, crooked.
Ghost finally pulled back. He reached for the towel without comment and cleaned Soap up with methodical care.
“You in one piece?” Ghost asked.
“Barely.”
But he was still smiling when he said it.
Ghost’s hand paused at his hip, just for a second. Then he nodded once, satisfied, and got up to grab water.
By the time they settled again, the telly was on, some brainless game show with too much laughter. The volume low.
Soap was half-slouched against the headboard, one leg stretched out, the other still bent where Ghost had left it. Every muscle felt like it had been wrung out and hung to dry. He didn’t bother hiding it. Let himself sag into Ghost’s side when he shifted closer.
Ghost’s arm came around him automatically.
Soap could see the difference.
Ghost wasn’t as coiled anymore. No longer scanning the corners of the room. No longer watching Soap like he might break.
“You’re quiet,” he observed.
Ghost kept his eyes on the screen. “You’re a mess.”
“Aye,” Soap agreed easily. “Worth it.”
A flicker at the corner of Ghost’s mouth.
Soap let his head drop back against Ghost’s shoulder, smug as sin.
He’d pulled it out of him. The snap. The edge. Then the calm after.
But he could feel it too: under the surface. The hum wasn’t gone, just resting.
He nudged Ghost lightly with his knee. “Enjoy it while it lasts.”
“Shut up, Johnny.”
Soap grinned, eyes closing.
Their time settled into a rhythm.
Sometimes it was against the wall. Sometimes the bed took the brunt of it, headboard knocking loud enough to make Soap laugh about the neighbours. Once, Soap nearly slid off the mattress and dragged Ghost down with him, both of them swearing and Soap cackling like an idiot.
It wasn’t always graceful.
It wasn’t always quiet.
But it was fucking good.
Every time, Ghost looked at him after like he needed proof he was still there.
Every time, Soap was.
But now, Soap was asleep.
His breath stuttered every so often, like his body still remembered what had happened mere moments ago.
Ghost was still pressed deep. His knot had finally gone down, but he hadn’t softened. The rut hormones still raged.
Soap’s legs were spread loose around his waist, heavy and warm. An arm was thrown over his eyes, blocking the faint light from the bedside lamp.
Silent for a change.
And Ghost:
He couldn’t stop looking.
That ache that lived beneath his skin now, not physical, not chemical. All Johnny.
The way his lips were bitten red. The damp at his temples. The pink smudge on his chest where Ghost had held him tight and fucked him through it.
Ghost brushed a thumb along the inside of Soap’s knee. Barely a touch.
Soap twitched. Shifted.
“M’still awake, you know,” he murmured. “Just about.”
Soap peeked out from under his arm.
“Your eyes are loud,” he said. “Can feel you thinkin’.”
Ghost stared down at him in response. Every inch of him still pulsed with restraint, with the need to not take more than Soap could give.
Soap reached for him blindly. Found his wrist. Held it.
Ghost’s cock throbbed once.
And Soap must have felt it, of course he did, he hissed faintly through his teeth, then let his head fall to the side.
“Still got it in you, don’t you? Knot’s gone, but you’re still—”
Soap smiled, tired, warm and loose.
“Go on, then.”
Ghost blinked, slow.
Soap’s voice dropped into something cheeky, purposeful.
“Just don’t jostle me too much, aye?”
Ghost let out a breath that was barely a laugh. His stomach turned over. His throat went tight.
Despite how easily Soap gave it. This was trust. Offered up like it didn’t cost a thing.
His hips rocked, once.
Soap sighed. A slow, satisfied sound. Eyes falling shut again.
Ghost moved again. Just slightly.
And kept going.
Soap woke to the press of lips at his collarbone.
Then another followed. And another. Up the side of his neck, across the sharp edge where stubble met throat.
“Mornin’,” Soap rasped, voice rough with sleep and overuse.
Ghost shifted closer, the weight of his body settling along Soap’s back, chest to spine. Bare skin everywhere. Warm, solid, inescapable.
Pressing gainst Soap’s arse like his body didn’t know how to stop wanting.
Soap hummed, pleased. He stretched lazily, still aching, still slick and sluggish and well-used in the best fucking way. He parted his legs, muscles loose, giving permission with the smallest tilt of his hips and a smile curling against the pillow.
Then Ghost spoke, voice deep and pleased.
“You came,” he said. “Last night.”
Soap’s brows knit. Still surfacing. “Mm?”
Ghost kissed behind his ear. His hips shifted, slow and dirty. Pushing in, making space for himself.
“You were fucked out. Thought you’d gone too far under.”
His mouth moved down Soap’s neck.
“Then you started coming. No touch. No warning.”
Soap let out a breathless, surprised laugh. “Seriously?”
Ghost hummed in response.
“Swear to fuck,” he said, the sound buzzing against overheated skin. “Started pulsin’ around me. Thought I was dreaming.”
He licked a line there, tongue wet and purposeful.
“Made the best fuckin’ noise. All soft. Like you didn’t even mean to.”
Soap’s face went hot.
“You’re obsessed,” he muttered.
“Too fuckin’ right I am.”
Ghost pressed in deeper.
“You came like that. No hands. Just me. Still knotted.”
Soap groaned, deep in his chest, neck arching without thought.
“Fuck’s sake.”
“You were soaked,” Ghost murmured. “Could feel it in your guts. Wanted to wake you up. Wanted to tell you how fuckin’ good you were—”
“You’re tellin’ me now,” Soap muttered, grinning against the pillow.
Ghost rocked into him again. Like he was still trying to crawl inside him, bit by bit.
“D’you have any idea what that did to me?”
Soap twisted just enough to glance over his shoulder. Eyes narrow. Mouth smug.
“Apparently made you chatty.”
Ghost bit his shoulder in response. Enough to make Soap jolt and laugh, fucked-sore and happy.
Ghost laughed too, pressed tight to his back. And kept kissing him.
The bath was full, barely hot enough to still steam at the surface.
They were both in it this time.
Soap sat between Ghost’s legs, his back against Ghost’s chest, arms resting on his thighs, the water sloshing lazily against them with every soft movement. The light was dim, only the wall light above the mirror, buzzing faintly. Nothing else.
Soap’s hair was wet. Still dripping down the back of his neck. Ghost's chin was tucked there now, stubble prickling damp skin, his arms around Soap’s waist.
Soap let his eyes close. His muscles were well past sore, but in a good way. A right, earned kind of ache. The type that only came from being thoroughly ruined in all the ways he wanted.
“Did you mean it?” Ghost asked. Not urgent, but not exactly casual, either.
Soap’s brow furrowed. “Mean what?”
There was a pause.
“About wantin’ a baby.”
Soap’s head snapped around, sloshing the water with it.
Ghost didn’t flinch. But there was something tight in his expression, his mouth pulled into a line. Like he was bracing.
Soap stared at him for a full second.
Then barked out a laugh.
“Fuckin’ hell,” he wheezed, leaning forward on instinct, hand braced on the edge of the tub. “That’s been rattlin’ around your head?”
“I’m serious, Johnny.”
“I know,” Soap gasped, looking over his shoulder again. “The bloody look on your face, thought you were about to propose.”
Ghost’s brows twitched, unimpressed.
Soap grinned, and then sobered, the fondness still laced through his voice as he settled back again. “No. I don’t want kids. Not with this job. Not with what we do. Doesn’t exactly lend itself to baby bottles and nursery drop-offs, does it?”
Ghost’s breath left him in a short, rough sound, not quite a laugh. More like relief.
“Thank fuck.”
Soap snorted. “What, you’d been picturin’ it already?”
Ghost huffed, eyes rolling.
Soap’s grin went wolfish.
“Nah, bet that’s what this is,” he said, head tilting as he pushed back slightly into Ghost’s chest. “You tryin’ to knock me up, week-long shagathon, your knot in me every other hour—”
Ghost groaned. “You’re an absolute cunt,” he muttered, dropping his head back against the tiles with a dull thud.
But Soap was on a bloody roll now.
“No, go on, picture it. Me, six months in. Off rotation. Swanning about HQ with a belly out to here—” He gestured with both hands, stretching them in front of himself, water spilling over the rim of the bath. “Waddlin’ into the armoury like, oh, sorry lads, just need to grab my body pillow and a grenade launcher.”
Ghost’s groan deepened. “Johnny—”
“Movin’ slower than Price’s fax machine,” Soap went on, grinning like he was trying to kill him. “All full of you, fuckin’ hell, they’d have to widen the doorframes.”
They were pressed so tight there was no way to escape it. Soap felt it. Felt how hard he was. Felt him twitch. No mistaking it.
“Oh my God, you fuckin’ do like it.”
Ghost’s breath was heavy against his shoulder.
Soap cackled.
“No wonder you’re so desperate, been tryin’ to breed me this whole time—”
Ghost growled, full-bellied, and bit the side of Soap’s neck, blunt teeth and heat and frustration. Soap just laughed harder, breath shuddering on the inhale.
Soap tilted his head back, smug, wet, grinning. “You’re sick.”
Ghost’s voice was rough in his ear. “You started it.”
“Yeah,” Soap breathed, starting to press back. “And I’ll finish it, too, so long as you don’t fuckin’ flood the bath.”
They’d only just settled.
Soap stretched out, half wrapped in the sheets, providing commentary to the TV show they were watching. Ghost just letting the sound of his voice wash over him.
The knock came sharp and sudden.
Before Soap could even lift his head, the handle rattled.
“Room service—”
The latch gave.
Ghost moved.
Not toward the door.
Toward Soap.
His arm came across Johnny’s chest in a reflexive sweep, body already turning, already angling. He was on his feet a heartbeat later, stepping between the bed and the doorway.
The door opened a crack. A young bloke’s voice, uncertain. “Just leaving the tray, yeah?”
Ghost stood there, unmoving, coiled, blocking the line of sight to the bed.
Soap had pushed himself up onto one elbow.
“Cheers, mate,” he called easily, voice steady. “Just leave it there.”
The tray clacked against the floor. The door shut. Footsteps retreated.
Silence again.
Ghost stayed where he was.
Soap slid off the bed and approached him.
“Simon.”
Ghost’s shoulders were tight as cable wire.
Soap touched his arm.
He flinched, not away, but back into himself.
The rut wasn’t flaring.
There was no heat under his skin. No animal edge.
it was the image of that door opening wider.
Of someone seeing.
Of someone stepping inside.
Soap followed his line of sight and then looked back at him.
Ghost swallowed.
“I didn’t think.”
“Aye,” Soap replied. “You didn’t.”
A beat.
Ghost’s jaw worked. “Could’ve gone wrong.”
“But it didn’t.”
Soap’s thumb pressed once against his wrist.
“You weren’t lunging,” he added. “You were shielding.”
Soap stepped into his space properly then, chest brushing Ghost’s, close enough that the tension had nowhere to go.
Ghost looked down at him.
It wasn’t the rut.
There’d been no surge of heat.
Only the need to put himself in the way.
Soap nudged him once with his shoulder. “You done posturing, or we getting that dinner?”
Ghost’s hand came up, and settled briefly at the back of Soap’s neck.
“Yeah,” he muttered. “I’m done.”
But he stayed close for another second before stepping back.
The next morning, the room had been stripped of them.
Soap could feel it: like their time there had been folded up and packed away with the rest of their gear. His bag was zipped. Ghost’s was already slung over his shoulder. The bed was made. Bins emptied. Towels folded back over the rail like they’d never touched them.
Ghost had set everything back as if some drill sergeant was going to sweep through and check corners for dust and evidence of softness. He’d barely spoken since the sun came up. He moved through the room in precise, silent sweeps. Drawer closed. Window locked. Light off.
Soap sat on the edge of the bed, elbows on his knees. His t-shirt clung to his back, damp in patches from the fastest shower of his life. His hair was still wet. He hadn’t said much.
Not when Ghost had been pacing like a dog left out in a thunderstorm.
He watched him without speaking.
He’d learned, in the short time they’d had, how to wait.
Ghost stopped at the window. Arms folded. Shoulders stiff. Mask back on like the last few days had never happened.
“When we met,” Ghost finally spoke, without not turning, “I wasn’t… all there.”
Soap frowned.
Ghost dragged a hand across his jaw, beneath the mask. The gesture looked practiced. Like he’d done it a hundred times when no one could see.
“It was just the job. Get in, get out. Sleep when you can. No thinking. No—” He stopped, jaw working. “Didn’t matter if I came home or not.”
He turned then.
His voice was steady. But his eyes—
His eyes burned.
“But now it does.”
Soap blinked. Something in him buckled.
Ghost’s gaze stayed fixed. “Now I’ve got something pulling me back. Not orders. Not the team.”
A beat passed. Too quiet.
“You.”
Soap opened his mouth, some joke already half-formed, something to break the tension, something biting or flippant, but it cracked in half before it made it out. His throat closed tight. His chest, tighter.
He tipped his head back, rubbed at his face hard. Useless. The tears were already coming: hot and thick and humiliating in how fast they rose.
“You absolute bastard,” he muttered, voice shredded. “You fuckin’—prick.”
Ghost crossed the room in a few strides and grabbed him by the shoulders, pulled him in like he was dragging him out of enemy fire.
Soap’s hands fisted in the front of his shirt. He shoved his face against Ghost’s chest and breathed like he could bite the emotion back down if he just didn’t look at him.
Ghost held him. Tight. One arm locked around his back, the other cradling the back of his head, fingers gentle in his hair.
“Got you,” he murmured.
Soap breathed him in. Breathed through him. Pressed his mouth to the cotton over Ghost’s ribs and held on.
His heart hammered. His throat burned. His teeth ground together.
“Fuckin’ hate you sometimes,” he said, barely audible.
Ghost huffed a laugh.
“Yeah,” he said. “Me too.”
They stayed like that for a long time.
Long enough for the worst of it to bleed out. Long enough for the trembling in Soap’s chest to start easing.
When he finally pulled back, his eyes were red, but his mouth twitched like it was trying to remember how to smile.
Ghost reached up. Wiped a tear away with the edge of his thumb.
“Next time you get emotional,” he said dryly, “warn me first. Thought you were about to leg it.”
Soap let out a broken laugh. Shoved at his chest. “Fuck off.”
Ghost caught his wrist.
“No chance,” he said.
