Actions

Work Header

In the Moments before Dawn

Summary:

On some of his worst days, Ghost could have convince himself that he wasn't enough for Soap. But in moments like this, watching the way Soap worshipped his body, took him apart and eased him back together, it was hard to remember how those thoughts had even formed in the first place.

Notes:

This work is part of an Exchange for LRY, who makes beautiful art. Thank you for offering me a new writing challenge, and I hope you enjoy this piece as much as I do. ✨

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

Work Text:

The first conscious thought Ghost had upon waking up was just how good it felt to have someone warm at his back. Took in the way the morning light was just starting to poke through the curtains, was taking his time coming up from his sleep. It was Soap, a familiarly tattooed arm hanging loosely around Ghost’s middle, even though he should have slipped off hours ago to head back to his own room.

It was dangerous, this game they were playing.

Was something still so young, so fragile, but they were trying. Hadn’t quite figured out all of the details, hadn’t gotten all of their routines down, but they came closer and closer everyday. Were both still so enamoured by the glancing touches and whispered words that had the hair on the back of his neck standing.

Ghost’s second thought was that Soap was hard again.

Was fucking insatiable and insistent, had been a part of this that Ghost couldn’t have foreseen. Couldn’t have known the strength of Soap’s libido, didn’t anticipate how sore he would be from being at the receiving end of it.

But somehow he had managed to go two rounds last night, Ghost’s aching back a testament to his efforts. Couldn’t understand how even in his sleep, Soap was ready for more.

Some stirring and a kiss to the back of Ghost’s neck told him that maybe Soap was closer to awake than he had thought. A grinding of hips against Ghost’s, accompanied by a low moan.

“Supposed to have left by now,” Ghost grunted by means of greeting.

A quiet laugh, the vibrations of which danced along his skin as Soap pressed another kiss right below Ghost’s hairline. “Couldn’t resist,” came Soap’s voice, still rough from sleep. “Have the day off, don’t we?”

That didn’t matter and Soap knew it. Could number off a thousand different ways they might be stumbled upon by accident, the both of them already risking so much.

The bed shifted as Soap worked himself up onto his elbow, as he got some leverage to lay slow, gentle kisses down Ghost’s neck. It took Ghost a moment to realize that he was moving in a pattern, was kissing each of the marks that Soap had left the night before. Had one of the worst oral fixations Ghost had ever come across, was a blessing that he had the mask to cover his abused skin. It was sitting on the side table now, a sign of trust very few were awarded with, scared him that he had given it so readily, so soon.

But here Soap was, slowly smoothing away the mild annoyance Ghost had felt at him having spent the night here, eased down by small gestures and touches. Had spent a lifetime scaring people off, had finally found someone smart enough to see through all of the posturing. Was ridiculous and terrifying the way Soap saw him.

“Fine,” Ghost said. Couldn’t help but to reach up and find the hand Soap had resting against his stomach, tangling his fingers in with Soap’s. He could feel the curve of a smile on Soap’s lips as he did, Soap understanding perfectly well that he had been forgiven. It maybe even made him a little bold, could feel a tongue flick out to taste Ghost’s skin before Soap’s lips latched on some, sucking a gentle mark there.

Ghost let out a heavy breath, but he wasn’t mad. Let Soap nestle closer, didn’t miss the way he sighed as he slowly ground his cock against Ghost’s hip. Kept his hands politely in place, his arm tightening around Ghost. Finished with his first mark of the morning, pressing a soft kiss there as he did, before moving on to make another at the nape of Ghost’s neck.

He had to admit that it felt good, to be wanted like this. To be satisfying a need Soap had, even when he felt a weariness that was so bone-deep.

But Soap was insatiable, and even as he tried, he was never able to help himself. Slid a leg between Ghost’s, slid their hands down just the tiniest bit to settle above Ghost’s own mildly interested cock. Was a heat Ghost could have eased down if he had been by himself, but with Soap at his back, he could feel that stirring in his gut only building.

“Christ, Soap,” Ghost said. Had been trying for pissed but couldn’t help the breathiness in his voice.

“Promise I’ll behave,” Soap said between kisses. Untangled himself some, but only to pull Ghost over onto his back, to settle himself along the length of Ghost’s body.

The weight of him felt good on top of Ghost and gave Soap a better angle to kiss and suck up the other side of Ghost’s neck. Nipped at the skin right below his ear, had Ghost biting back a moan.

Soap smiled and shifted, their mostly soft cocks sliding together in a way that had them both letting out a breathy sigh.

“Sure you don’t want me to fix that for you?” he asked.

Ghost considered himself a smart man, saw this for what it was. Saw the glint in Soap’s eyes, felt the way his cock twitched as he ground so subtly against Ghost again.

The issue was that it was a delicate act for Ghost, to balance his stamina and ego. Needed to be convinced some before saying yes to another round this morning, needed to see Soap work to earn it.

“Positive,” Ghost said.

Fortunately Soap was also a very smart man. Saw exactly what Ghost was doing, recognized the challenge of it.

“Course, Simon,” he said. Pulled back, but only to place a kiss at Ghost’s collarbone. Looked up at him through his eyelashes as he placed another on to his chest, then to his stomach.

The fucking devil, that’s what Soap was. A menace, a temptress. He pulled his hips off of Ghost’s, should have been a relief but only had Ghost chasing him accidentally, scoffing against the look Soap was giving him.

“I’m only behaving,” Soap said, a knowing fucking smile on his face. “Doing what you asked of me.”

Ghost snorted at that.

Soap was a tease and they both knew it. Understood exactly what needed to be done in order to wind Ghost up. He ducked his head again, mouthing just above the line of Ghost’s briefs, hastily thrown on before drifting off last night. A thin attempt at some kind of physical indicator that Ghost had finished for the night, as if Soap wasn’t known to just peel them back off when he needed more. Placed a kiss there before nipping and sucking another hickey.

Ghost was covered in them, would never be able to admit to anyone exactly where they started and where they ended, couldn’t count them even if he tried. Had too many that faded, had too many that were added by the day, as Soap left reminders of his affections across Ghost’s skin.

Hands on his knees had Ghost breaking that line of thought, had him shivering. Soap teased his way up Ghost’s inner thighs, stopping right below Ghost’s hips. And when Ghost looked down, he could see the pleased look Soap wore, watched as his cock twitched under that expression. Was the promise of something good once Ghost finally said yes.

“Fuck,” Ghost breathed.

Soap smiled at that, pulled back. Hooked his fingers under the waistband of Ghost’s briefs. Waved him down before he could protest, giving Ghost an innocent look as he did. “Just getting these off you. Too dirty from last night to keep on for the day,” he said.

Ghost’s mouth felt a little dry as Soap eased his hips up, pulling the material of his underwear off him. Smiled up at Ghost as his cock sprung free, as it fell heavily against his stomach, already leaking a tiny trail of pre-come.

“Still offering to help,” Soap mused, settling back onto his heels between Ghost’s legs. Had a boner of his own that he wasn’t touching, wasn’t paying any mind too. Was too busy indulging himself in this little game Ghost had set up.

“M’good,” Ghost breathed.

Soap hummed, looking down at Ghost appreciatively. Ran a hand over Ghost’s hip, over a bruise from last night. Looked back up at Ghost. “This one hurt?” he asked.

Ghost could remember the exact moment he had gotten it. Remembered Soap pinning him to the bed, thumbs digging in as he near-begged for more. As Soap fucked into him hard and fast, had been the second time he had come.

But even as it ached, Ghost shook his head. Liked the reminders he got to carry around with him.

Soap nodded.

Then, while keeping his eyes carefully trained on Ghost's face, he dug his finger into the tender flesh.

Ghost gasped, hips arching into it. Hurt just right under Soap’s hands, had never been one to shy away from a bit of pain.

Soap’s expression warmed at Ghost’s reaction, eyes turning a little softer. He leaned down, shushing Ghost. Pressed a kiss onto the bruise, ignored the way Ghost’s cock flushed and twitched at the proximity to his mouth. Hated to admit that it made him all the harder, to be ignored like this.

And Soap wasn’t done torturing him, pressed searing kisses along Ghost’s hips, down his inner thighs. Got his hands under Ghost’s knees to spread him some, couldn’t even protest at that. Was getting attention everywhere but where he needed, would be aching for days from the marks left this morning.

“Just want to make you feel good,” Soap said, wearing a carefully put off expression. His breath teased at Ghost’s cock, had his mouth right there for fuck’s sake.

But in part, those words curled uncomfortably into his stomach. Because Soap needed so much. Was good at never pushing Ghost too far, understood that they were at different places. That, try as he might, Ghost couldn’t always keep up. Hated that there were things he couldn’t control, that he had to set boundaries, to say no.

Soap always seemed to understand when to stop, when not to push. May have even realized he was potentially pushing at one of those limits now, was easing back. “Can stop if you needed, Simon. Promise, I won’t ask again if you say no,” he said, gave Ghost a look that was gentle, genuine.

And here was the crux of the entire problem. Ghost never wanted to stop. Knew when he should, but saw that fucking expression on Soap’s face. Got his ego fed enormously from the way Soap looked at him, like Ghost was food to a starving man. Never had to worry about straying eyes when Soap needed him like this, like he did right now.

Ghost groaned. Draped an arm over his eyes, then tucked it behind his head. Sighed and pulled the pillow in a little more comfortably, resettling his hips some. “Just go easy on an old man,” he said finally, had made Soap wait long enough.

Soap’s expression warmed at that. Looked pleased, pressed another kiss into the skin of Ghost’s hips. “Toss me the lube?” he asked.

Ghost huffed and reached over, pulling it off the bedside table. Knew he had started something that he would love right now, would come to regret in the aching of his muscles and joints later.

But he would be lying if he said that seeing the joy on Soap’s face didn’t do something for him. Didn’t have him cooperating as Soap spread his legs some. Didn’t have him groaning as Soap blew a teasing breath up Ghost’s cock, just to watch him squirm, was so pleased with himself.

Soap narrowly avoided getting cuffed on the side of the head for that one, ducked out of the way first, laughing. “Sorry,” he said. “Sorry. I won’t tease.”

“Too late for that,” Ghost grumbled, but settled back down onto the bed.

Soap said nothing to that, was too engrossed in his new task. Looked so pleased as he ran gentle fingers down Ghost’s cock, taking him firmly in hand at the base.

For all of his fucking around, Soap knew when to get serious. Applied the perfect amount of pressure, ran a thumb over the head of Ghost’s cock. Smeared around that pre-come, teasing the sensitive skin there. Got a couple of good strokes in before spitting into his hand, returning to Ghost with renewed energy.

Was so good at this, but they both knew it wasn’t what Soap wanted. Needed to curb that fixation, needed Ghost in his mouth, on his tongue. Would only hold back for so long.

“Can I?” Soap asked, was already lowering himself down, settling onto his stomach between Ghost’s legs.

Ghost nodded. Fluffed his pillows more so that he could get a better look, loved watching the joy Soap got from taking care of him like this.

Soap ran his tongue up the underside of Ghost’s cock testingly, kept his eyes on Ghost’s face to watch the reaction he would earn from it. Did it again before taking just the head of Ghost’s cock into his mouth, keeping Ghost shallow.

Ghost groaned at that, forced himself not to give Soap the satisfaction of chasing more, especially after having told him off earlier. Kept himself still as Soap teased at the slit, had Ghost closing his eyes against the pleasure.

But Soap liked to be validated for the things that felt good. Hummed a little, drawing Ghost’s attention back down to where Soap was looking up at him expectantly.

Ghost sighed and put a hand on the back of Soap’s head, let his nails scrape gently against his scalp.

It seemed to spur Soap on some. Let himself take Ghost down a little further, worked to find a rhythm for himself. Gagged a bit, had Ghost groaning at that, had him forcing himself still as Soap adjusted.

But Soap was an expert at this, felt so fucking good and tight. Ghost barely registered the clicking sound, the uncapping of lube. Was lost in the way Soap was hollowing his cheeks and moaning around him to catch how Soap was just slightly distracted. It wasn’t until a slick finger was circling his rim that Ghost was groaning, was yanking at Soap’s hair for a different reason.

Had Soap pulling off him with a lewd popping sound, was already smiling as Ghost arched an eyebrow down at him. “Won’t do it if you don’t want me to,” Soap said. Looked ridiculously good like this, had a thin thread of saliva trailing from his bottom lip to Ghost’s cock.

But the look on Soap’s face said that he already knew Ghost would say yes.

“Fuck, do what you want then,” Ghost said, quit tugging Soap off him, tried not to roll his eyes as Soap got his mouth back around Ghost, was humming happily to himself in a way that had Ghost’s eyes fluttering shut momentarily.

And Ghost only sighed when Soap slid a hand up Ghost’s thigh, stopping below his knee to pin his leg to his chest. Got a better angle to run those clever fingers around his rim again, to sink himself down to the first knuckle. Understood that Ghost was still a little swollen from the night before, worked on a little more lube as he made sure to keep his mouth tight for Ghost, a distraction from the discomfort.

Didn’t take long to have Ghost letting out a shaky breath, to have him torn between wanting to grind down onto the finger in his hole and from chasing the wet heat of Soap’s mouth.

He kept waiting for the moment when Soap would try to open him up properly, to get him ready for Soap, but it never came.

Instead, Soap was so good, pulled out all of his tricks. Even got Ghost down into his throat once before gagging, seemed lost in feeding Ghost’s pleasure.

Ghost could feel Soap taking peeks at his face, gauging his reaction every time he did something he just knew Ghost would like. But he was also teasing, was going slower than Ghost knew he could have. On a normal day, Ghost wouldn’t have minded. Today he was too sensitive from having been worked up from Soap’s kissing earlier.

“Get on with it, Soap,” he bit out.

Soap hummed in a way that felt so good around his cock. He listened though, picked up his pace around Ghost.

But he did look up curiously when Ghost slid a hand forwards on Soap’s head, taking a handful of his hair at the scalp. Tightened his grip in a way that had Soap moaning openly now, partly pained but mostly turned on. Gave a testing tilt of his hips to push in deep, watching as Soap’s eyes fluttered shut when he did, before pinching shut in concentration. Was going to let Ghost do it, was being perfect.

Ghost rolled his hips again, dragging Soap’s head down as he did, fucking deep into his mouth. Didn’t have to worry about how long Soap could take him like this, wasn’t going to last. Was already so close between Soap’s mouth and clever hands.

Soap knew it too, was working into his hole deeper, faster. Crooked his finger some, had Ghost gasping.

Fuck, Soap was good. Was pushy and frustrating but good. Had Ghost mumbling out what he would never admit were pleas, had him near begging for Soap to do it again. No one had ever been stupid enough to try anything close to this with him before, but Soap had always been an exception, was too head strong for his own good.

Knew it too, the cocky fuck. Worked his finger hard against Ghost’s prostate just as he seated himself down deep onto Ghost’s cock, had Ghost’s thighs shaking as he came in stunted little thrusts, had him heaving in breaths and working to calm a racing heart.

Soap pulled off him gently as Ghost slowed, as he finally loosened the hand in Soap’s hair. Murmured a quiet apology as Soap ran a hand over it, smoothing it down as he raked his fingers through the mess.

“S’good, you know it is,” Soap said with a smile, pressed a kiss to Ghost’s hip. Still had a finger inside of him, was mostly just keeping Ghost a little full, felt so good like this.

Ghost looked up at him, took in his cock, still hard and straining against the fabric of his underwear. Had a little wet spot from where he was leaking through the fabric.

“Going to show me how you like it, are you, Soap? Swallowing me down isn’t enough for you? Going to make a mess on my tits?” Ghost teased, knew just how Soap liked it.

He felt some satisfaction as Soap’s pupils dilated at that, as he looked down at Ghost’s chest in interest, as he slowly sucked in his bottom lip, still swollen and spit slicken. “Was hoping for something more,” he said, peeling his eyes off Ghost’s chest a little regretfully to look up at him.

Ghost frowned at that. Didn’t understand what he meant until he heard the lube uncapping again, as he felt Soap pulling out his finger to reapply.

To work in a second.

A groan, one that had Soap widening his eyes innocently at Ghost, was already so oversensitive.

“C’mon, Si,” Soap said, his voice barely a whisper. “You know I’m going to take care of you.”

Of course he was. He always fucking did, was part of what made Ghost keep saying yes. Would always want too, even now, as his chest still heaved from his last orgasm, as he lay covered in bruises from the night before.

“That a yes?” Soap said. Was pulling himself up, was sinking back onto his heels, hips flush to Ghost’s ass, cock fished out and flushed from within his briefs. Looked uncomfortable and heavy like this, would need help getting him fixed and righted.

Ghost groaned but hooked a leg around Soap’s waist, dragging him in closer, loved the delighted look on Soap’s face.

“Pull any more shit with me after this round,” he warned, “and I’ll have you with the Rookies for the next month. Is that understood?”

“Swear it, sir,” Soap breathed. Was already working a third finger in, was looking at Ghost like he hung the fucking moon.

Ghost wanted to groan, certainly would be in a minute when Soap started working him back up. Ran a hand over his face to hide the smile there. Couldn’t be mad when Soap orchestrated mad schemes like this.

Because never had he felt more safe and satisfied than he did when in Soap’s hands.

Notes:

Come chat with me on twitter!