Actions

Work Header

sweet temptation

Summary:

Christ,” Ghost groaned. “Look at your fuckin’ tits.”
One huge hand skated up Soap’s abs before pawing roughly at his pecs, settling on one and squeezing. Soap jerked up into the touch.
“Bet you say that to all the girls,” he said, aiming for cocky but landing just shy of breathless.
A corner of Ghost’s mouth hitched up slightly. “Only the ones with nice tits. Why, you jealous?”

-

Ghost is a tit guy. Soap is happy to oblige.

Notes:

first time posting fanfiction and it's two COD characters fucking. not sure how this happened, but i'm here for the ride

this is set in the reboot 'verse, but has no relation to the events of the games, so y'all can pick whether this happens before or after MW2

maybe i'll post more of these two, depending on if people like what i'm selling

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

Work Text:

Soap ground the palms of his hands into his eyes, hard enough to prompt flashes of colours across the backs of his eyelids. He wanted to reach out, to grab onto something, but Ghost had told him not to touch .

  “Come on,” he gritted out. “Before one of us dies of old age.”

Further down the bed, Ghost hollowed out his cheeks as he dragged his mouth upwards, pulling off Soap’s cock with an obscene pop.

  “I’m busy,” was all he said before he licked the tip back into his mouth.

Soap reached up, wrapping shaky fingers around the bars of his headboard. He tipped his head back too, staring resolutely at the ceiling, because the sight of Ghost’s mask pushed up just enough to let him suck dick was an image that did little to stave off an orgasm.

He propped a leg over Ghost’s shoulder, digging his heel into the other man’s back when Ghost rewarded him with a hum that shook him all the way up his spine.

  “LT,” Soap tried again, eyes squeezed closed. “You promised me a good fuck. Didn’t take you for a liar.”

Ghost didn’t make a sound, just swept his tongue under the head of Soap’s dick and forced a broken noise from Soap’s chest. He’d had his mouth on him for what felt like hours, turning him on his back the second Soap had spread himself out on the bed, and desperation had long since settled across Soap’s body. His thighs, especially the one resting just next to Ghost’s cheek, were shaking with it. Soap wanted little more than to shove his hips up and up, until his dick found a new home in Ghost’s throat. But he didn’t, wouldn’t, because Ghost had told him not to. He’d told him to lie back, not touch, and take it.

Soap moaned low in his throat as Ghost finally shifted, forcing the leg slung over his shoulder up further and dragging fingers across the skin right behind Soap’s balls.

  “Yes, yes. Come on,” Soap gasped, hips ticking up a fraction before he caught himself.

They’d been doing this long enough now that they’d learned just what drove the other crazy, both good and bad. As much as Soap bitched about it, both he and Ghost knew how much he loved the build-up. The teasing before the main event. To have it drawn out until he was gagging for it. Ghost was far less patient, Soap knew, but the man had become an expert in taking Soap apart, in shaking Soap apart using just his tongue.

Soap hadn’t been able to look at him for a full day after Ghost had rimmed him until there had been tears in his eyes - the mask hid a lot, but it did nothing to stop the smugness radiating off of him.

Ghost pulled off his cock again, letting it fall with a wet smack against Soap’s stomach. Soap felt him shrug his leg off his shoulder, shuffling until Soap’s legs rested on top of his huge thighs instead.

  “Eyes on me, MacTavish,” he said. Soap groaned, legs twitching, but he pried his eyelids open and looked down at the man between his legs.

Ghost loomed above him on his knees, smirking as he slowly rubbed a hand over the bulge in his trousers.

  “Fuckin’ look at you,” he said. He dragged his tongue across his swollen bottom lip, and Soap preened under the attention. “Yeah, show off for me some more. Take your shirt off.”

Neither of them had managed to get out of their clothes before they got to Soap’s bed. Ghost had yanked Soap’s trousers off and thrown them to one side before swallowing his dick to the hilt, but that had been it. Ghost was still fully dressed, mask and all, his trousers straining. He watched Soap with hungry eyes as he yanked his tshirt over his head.

  “Christ,” Ghost groaned. “Look at your fuckin’ tits.”

One huge hand skated up Soap’s abs before pawing roughly at his pecs, settling on one and squeezing. Soap jerked up into the touch.

  “Bet you say that to all the girls,” he said, aiming for cocky but landing just shy of breathless.

A corner of Ghost’s mouth hitched upwards. “Only the ones with a nice rack. Why, you jealous?”

  “No,” Soap scoffed. He let go of Ghost's shirt and spread his arms out wide, arching just-so to shove his chest up. Showing off. "Far as I can tell, the only one looking to shag you is me. Nobody to be jealous of."

Ghost's other hand flashed out, quick as anything, and pinched one of Soap's nipples. Hard.

  "Ah, fuck, ow!" Soap bucked, trying to shake him off. Ghost's fingers gentled, and he rubbed a thumb in tight circles over the nipple he'd just pinched - an apology. Soap jolted again, and a moan escaped his open mouth before he could stop it. He moaned again when Ghost leaned down and licked a hot stripe over his chest, stupidly clever fingers working in tandem, before biting down.

Bastard loved his marks, and Soap could feel a particularly nasty one forming under Ghost’s teeth.

Ghost hummed low in his throat, almost a laugh. “You gonna let me fuck you?”

  “Let you? I’ve been asking,” Soap grumbled. “Steamin’ Jesus, if you don’t stick your dick in me in the next five minutes, I’m going outside and sitting on a squaddie.”

Ghost actually did laugh at that, but he let go of Soap’s chest and reached over to grab the half-empty bottle of lube from the bedside table.

  “Impatient,” he said. “Play with yourself if you’re that desperate.”

Soap was that desperate. He had his hand around his cock before Ghost had finished his sentence, pumping low and tight while Ghost coated his fingers with lube. The low buzz between his legs kicked up again, and Soap shut his eyes with a sigh as it started spreading up his spine again.

Christ, this was not going to take long.

A hand clamped on the back of one of his thighs, pushing it up towards his stomach and pinning his arm in place, forcing him to still his hand. Soap cracked an eye open.

  “Ghost.”

The man in question ignored him. Instead, he sunk his middle finger into Soap’s ass without warning.

  “Ah, fu- Ghost!”

Soap didn’t whine. He didn’t whimper. He would swear up and down until he was blue in the face that he had never – would never – mewl in bed. But like this, laid flat on his back with Ghost twisting a finger against his prostate, he couldn’t stop his moans pitching high even if he tried - leaking from his open mouth as he rolled his hips down to meet Ghost’s hand.

  “Don’t you make a pretty picture,” Ghost said. His free hand cupped Soap’s cheek, dipping his thumb to swipe over his bottom lip before pushing it into Soap’s mouth. Soap tipped his chin up, sucking at Ghost’s thumb and curling his tongue around it, the same way he would if it were his cock. “Fuckin’ gorgeous.”

Ghost prodded another finger against his hole the same moment he pressed down on Soap’s tongue, pinning it against his teeth. He leaned in and licked at Soap’s lips, wet and messy until his whole jaw was slick with spit, and Soap moaned at the scrape of teeth against his jaw as Ghost spread his fingers inside him. Ghost made an answering noise, low and muffled against Soap’s throat.

  “You always feel so damn good, Johnny,” he murmured. “Suckin’ me in. Can’t get enough of you like this, legs spread for me. Always so fuckin’ hungry for it.”

And that was that. Soap just melted, precum spilling onto the already too-large pool on his stomach. Ghost’s voice never changed when they fucked - always rough and grating and clipped in short sentences - but it got Soap fucking going . The voice that would crackle in over comms to bark orders or tell a god-awful joke to break a too-long silence was the same as the one that would have him panting on his own sheets like it was nothing.

Christ, and the way that Ghost’s accent twisted its way around his name? He had stolen the sole privilege of calling him by his actual name without a second thought.

Another few thrusts, spreading his fingers in measured strokes, and Ghost was pressing a third finger into Soap’s ass. Soap made a helpless noise at the added burn, but Ghost was already tapping his fingers upwards, tracing oh-so-sweetly against Soap’s prostate to ease the stretch. It was almost too much, too fast, too good, and Ghost fucking knew . Soap’s hips jerked wildly, rocking his body frantically, riding out the sparks bursting in his stomach. Three huge fingers sliding in and out of his ass, one in his mouth - Soap didn’t fight it when his eyes rolled back in his head.

Soap garbled another desperate moan. Fucking Ghost and his fucking hands.

  “Yeah, there you go,” Ghost’s voice was gritty, rasping like he was the one having trouble breathing. “There you goddamn go.”

Soap wriggled his tongue until it was flattened past his bottom lip and lifted his head, sucking Ghost’s thumb further into his mouth. It wasn’t quite long enough for him to gag on it, but it nudged just at the back of his throat in pale imitation. Ghost hissed a curse and his hand’s next thrust was harder, meaner, designed to make Soap yelp. Soap redoubled his efforts, just to get him to do it again.

But Ghost’s patience wasn’t limitless. He wrenched his thumb from Soap’s mouth, leaving a wet path across his soaked chin and throat so he could squeeze Soap’s pec.

  “Tell me you’re fuckin’ ready.”

  “Yeah,” Soap said. His breathing hitched as Ghost twisted his wrist, his fingers sliding into him again with ease. “Yeah, I’m ready. Fuck me.”

Ghost pulled his fingers out and let go of Soap entirely to fumble with the button on his trousers. The metal rasped as Ghost yanked the zipper down, shoving his trousers and boxers down just far enough to pull his cock out. Soap swallowed instinctively at the sight - red, huge and leaking.

“You gonna take the rest off?” Soap asked. Ghost grunted, ripping a foil packet between his teeth.

“Not likely,” Ghost said.

His eyelids fluttered when he rolled the condom down his cock, the barest indication he was as worked up as Soap felt. He jerked himself quick, once, twice, spreading the remnants of lube on his fingers before shuffling closer again. Hooking an arm under one of Soap’s knees, he pulled until his hips were hanging in the air, holding him over Ghost’s half-covered thighs. When Soap slipped - between the lube and the sweat, his skin was borderline slick all over - Ghost readjusted, gripping hard enough to leave indents and bruises across Soap’s thighs.

Soap grabbed at Ghost’s shirt, getting one good handful in his fist. Stubborn bastard. “C’mon. I wanna see you too.”

Ghost snatched his wrist and redirected it under one of his thighs. “Hold yourself open,” he said instead.

Soap shuddered but scrambled to comply. Both hands went under his knees, holding his hips high enough to curve his spine. He smirked up at the man above him when Ghost’s movements stuttered briefly. He could near feel Ghost’s gaze dragging heavy down his body, and he preened under the attention. Bruises from Ghost’s mouth - old, fresh, and fresher -  scattered across his skin, muscles tensed in anticipation, Soap knew he looked good. A pretty picture, Ghost called him.

The man in question breathed out hard, just once, then moved. Ghost clicked open the lube bottle again, rubbing more over his cock and then, just to be a prat, poured some directly on Soap’s ass.

Soap yelped. “Christ! That’s cold, you arse. Warn a guy!”

Ghost ignored him, instead shoving a pillow under Soap’s hips to ease the tension. Before Soap could tease him for being soft, though, Ghost lined himself up and sank his cock into him in one go.

Soap threw his head back, thighs twitching rough against Ghost’s waist. “Fu-u-uck me.”

  “I’m gettin’ there,” Ghost said. His voice was strained, though. No longer calm and collected with his dick halfway up to Soap’s stomach.

For a few moments, they just breathed together. Soap panted towards the ceiling as Ghost mouthed at his collarbone, licking over a trio of yellowing bruises he’d left the week before. A beat later, Soap wriggled, jostling the man above him.

  “Come on then,” he taunted. “You waiting for a written invitation?”

Ghost reared backwards. He sat heavy on his heels, cock dragging inside Soap just enough to make him hiss. He reached out, spreading his hands wide around Soap’s waist, and jerked his hips hard enough to shove Soap a fraction up the bed.

  “Mother fucker!”

Soap dropped one of his thighs immediately, scrabbling at Ghost’s shoulders instead, trying to find a good handhold. Just as he hooked a hand around his neck, Ghost grabbed his flailing wrist and brought it to his mouth to lave his tongue over his skin.

  “That’s it. Feel better?” Ghost murmured. His hand tightened around his wrist, almost cruel, and Soap nodded frantically.

  “More. Fucking- yeah, more.”

Ghost tucked Soap’s hand back under his thigh, smoothed a palm across stomach to his waist, and rolled his hips smooth and easy until he had worked himself up into a near brutal pace.

Soap dug his fingers harder into his thighs until he was pinching at the bone, eyes squeezed shut and mouth hanging open as Ghost hammered into him.

  “Holy fucking fuck,” he moaned. “Gho- Simon!”

  “That’s it, Johnny, come on,” Ghost growled above him. A hand grabbed at Soap’s pecs again, squeezing hard. “Tell everybody who’s fucking you. Make it loud now.”

  “Simon! God, fuck, Simon!”

Ghost hunched over him, caging him in. The balaclava still bunched up over his nose scraped rough against Soap’s jaw, and Soap tipped his head back further to give him room.

  “That’s fuckin’ right. That’s fuckin’ right.” Ghost said. He pressed the words into Soap’s skin, followed by an open-mouthed kiss, just shy of a bite. “Talkin’ about fuckin’ somebody else, fuckin’ a squaddie. Not on my fuckin’ watch. Only dick you need is right here.”

Apparently, Soap had accidentally hit a nerve earlier.

  “ Mmh. Yeah, yeah,” Soap said. “Only bastard that can fuck me right. It’s you, Simon, Christ, only you. Shit, c’mere and kiss me.”

He keened, high and desperate in his chest, as soon as Ghost dove in to meet him. Ghost’s tongue was hot and wet, demanding the second it slid into his mouth, and Soap lost himself in it. The tight heat in his stomach was building again, fierce and fast. His thighs were shaking again, and Soap hooked them around Ghost’s wide hips before he lost his grip on them. Instead, he clutched at the back of Ghost’s head, fingers scraping uselessly against the balaclava, and at the shirt still sticking to Ghost’s back.

Ghost shifted angle so he was pounding directly at Soap’s prostate, and Soap broke the kiss with a gasp.

  “Close,” he whispered desperately, eyes still closed. “Close.”

Ghost bit at Soap’s lips, fast and mean. Soap could feel the bastard smiling as one hand closed around his aching dick and began to stroke, the other flicking neat patterns over his nipple.

  “Yeah? Gonna cum for me?” He said. Soap nodded, frantic. The hand fisting his cock sped up, twisting over the head every time Ghost hammered his prostate. “Then do it. Be a good boy, and cum.”

Soap had no choice but to wrench his head back and do exactly what he was told.

The ball of tension in his stomach clenched for a brief moment before exploding outwards. White heat shot through his limbs and exploded into stabbing light behind his eyelids, and his voice cracked in two as he screamed Ghost’s name again. Wet warmth landed on his stomach as he spilled over Ghost’s hand, thighs clamped hard around Ghost’s waist and fingers twisting tight in whatever fabric he was clutching.

Distantly, Soap heard Ghost bite out a curse as he pulled out of him and yanked off the condom, more warmth hitting his chest as Ghost jerked himself off over him. He moaned, weak even to his own ears, and let his limbs collapse to the bed as the last of the tremors wracked over him.

He stayed like that, melted flat and eyes still closed, even when Ghost’s weight disappeared from over him. He tracked Ghost mentally as he moved through Soap’s room, quiet even now, vanishing briefly into the adjoining bathroom to presumably commandeer one of Soap’s towels.

Sure enough, Ghost returned just as Soap got his breathing back under control, and a wet flannel swiped through the mess they had undoubtedly made of Soap’s torso. Soap grunted a complaint at the coolness, but didn’t move as Ghost cleaned him up, fast and efficient.

He heard the towel hit the floor moments later, but didn’t have the strength to critique the man that had just railed him so thoroughly.

Somewhere to his left, clothes rustled. When Soap cracked open his eye, Ghost was lowering himself back onto the bed, naked and bare-faced.

Soap’s heart stuttered like a traitor, same as it always did when Ghost ditched the mask. He’d seen his face a hundred times, if not more, and it still kicked him in the chest the same way it had the first time. The Ghost out on the field was gone, leaving only Simon behind to curl up next to Soap, a shy behemoth of a man.

  “Still with me, Johnny?”

Soap shifted so he was staring at the ceiling again. Safer territory.

  “Not sure,” he said, eventually. “Pretty sure I saw the afterlife for a minute there. One of these days you’re actually gonna kill me.”

Ghost hummed. He traced a palm over Soap’s skin, curving it around the side of Soap’s chest.

  “Nah. It’d be a shame to let this all go to waste,” he said. His voice was low, lower than normal, rough and grating and sending a shudder up Soap’s spine.

Soap batted at his hand and moved away again. “Stop it. At least give me a minute, horny bastard.”

  “Those in glass houses, Johnny.”

  “Yeah, yeah, whatever,” Soap scoffed. He stretched, sighing when something popped in his back. “Get the fuck over here and cuddle me, then we can go for round two.”

Notes:

fun fact, this fic has about five different drafts after the halfway point and i've reread this one so many times that i can no longer tell if it's good. but hey. eat up, loves. give me feedback and i'll give you a lil digital kiss

my tumblr is brand new, but feel free to come say hi