Work Text:
Gerard liked to think of himself as the kind of person who would try anything once. After all, his personal philosophy was that life was way too short to worry about the world’s expectations for him. Breaking pointless rules was one of his favorite activities. It was a contradiction to his usual bashfulness, but maybe he was surer of himself when he was trying new things solely because he felt like it and not because he was pressured to.
Sometimes his open-mindedness actually worked in his favor. Now was definitely one of those times, because if it weren’t for his own sheer curiosity, he wouldn’t have purchased the set of baby blue lingerie he was currently wearing for the first time in months.
Obviously this side of his experimentation wasn’t one he shared with the world. He’d bought this for himself because he thought it was pretty and wanted to see how it looked on him. He liked how the lace laid delicately against his skin but never really had a purpose for wearing it, so the lingerie had sat untouched in one of his dresser drawers. Until now.
Gerard’s reasoning was that Frank had specifically asked him to be good, and why just do the bare minimum when he could go above and beyond and totally surprise him? So, he’d thrown on the lingerie and picked out some other clothes to wear over it. He hadn’t put on the rest of the outfit yet; he was too busy studying his reflection and maybe, just maybe, feeling truly confident in his appearance.
The set was fairly simple – just a bralette and panties made from lace and cotton, plus a garter belt that hugged his hips and held up the white stockings he wore. He normally wasn’t able to see the appeal of his body, always disliking how soft he looked, but the pale blue fabric paired with the thigh-highs complemented his form in a way that made him look sweet and angelic. The cool colors accentuated his complexion and contrasted with his dark hair, brought out the soft hues of his eyes. He really couldn’t wait for Frank to see.
Tonight felt special because they had never planned their time together before, they always just let it happen when it was convenient. But this time was different, so as soon as Gerard had arrived home from work he began tidying up his apartment and touching up his own appearance, ensuring he didn’t look like a sleep-deprived corpse. He wondered if, to some extent, this was Frank’s way of getting him to take care of himself. If it was, it had certainly been effective.
Now all he had left to do was wait.
He went ahead and threw on the clothes bundled in his arms, and even he could see that he looked damn cute. He’d picked out a cable knit sweater, one that was oversized and fell over his hands, and a tiny pair of velvet shorts that went quite nicely with his stockings. As a bonus, there was no obvious indication of what he was wearing underneath, so Frank would be in for a surprise.
Gerard decided, as he studied himself in the mirror and felt an inkling more confidence brimming in his chest, that his bitter attitude toward pointless societal norms had served him well in this instance. He just looked…fuckable? Yeah, he couldn’t believe he was thinking it, but he supposed he really did.
He stepped out of his bedroom and into his kitchen, making himself a mug of tea and eating from a bag of dark chocolates (because he deserved it) while he waited. He decided to make a cup for Frank as well, just in case. He wanted to be good. That was half the point of all of this.
Not long after the water had come to a boil and he’d plunked teabags in each mug to steep, he heard a distinctive sound like the very soft tinkling of chimes, like diamond rain falling to the earth, and he was immediately filled with excitement. He was always so happy when Frank visited him, no matter how they spent their time together.
“It’s me!” a voice called from his bedroom. Gerard was glad he didn’t have the life scared out of him this time.
“I’m in here!” he answered.
As he heard the angel’s footsteps approaching, Gerard realized he had the perfect opportunity to be a little tease and set Frank off right from the start. The honey he needed for the tea happened to be perched on a cabinet shelf barely within his reach, forcing him to stand on his toes and lengthen his body, leaning over the counter as he felt around for the bottle.
See, he knew that Frank rarely initiated anything right away; he liked to make Gerard wait for it, especially when he was expected to be on his best behavior. Gerard decided he would let Frank have his way, but he was going to make it as difficult as he could.
Frank’s footsteps came to a sudden halt and Gerard swore he heard his breath catch in his throat. His fingers brushed the bottle of honey a few times, but he pretended to have trouble finding it, deliberately arching his back and bending over so that his feet nearly came off the ground. His shorts had ridden up enough that half his ass was exposed and as he listened to Frank breathe just a bit heavier than normal, he couldn’t help but smirk.
“Hey there, Gee.” Frank’s voice was soft.
“Hi,” he replied, voice strained. He finally grabbed the honey and dropped to the ground, not bothering to pull his shorts back down. “I missed you.”
Frank was staring at him with dark eyes. Instead of the multiple layers he usually wore, he had on skinny jeans and a muscle tee, exposing the bright images inked into his arms and the radiant glow of his skin. He always looked ridiculously beautiful, but even more so now, if that was at all possible.
“I missed you too,” Frank said, faraway. The shadows in the contours of his neck shifted as he swallowed.
Gerard felt like he had the upper hand then. The sensation of momentary control gave him a rush. He wondered if Frank felt this way all the time.
“I made you tea,” he said as he popped the cap on the honey and began drizzling it into both mugs, acting as if nothing out of the ordinary had happened.
“Thank you, baby.” Frank seemed to regain a bit of his composure then, approaching Gerard and leaning against the counter beside him. He grabbed a square of chocolate from the open bag, knowing he didn’t have to ask, and bit into it before he picked up his mug. It was probably still too hot to drink, but he was too busy running his eyes up and down Gerard’s body to think about such trivial things.
Tension hung thickly in the air between them, hot and humid. The corners of Gerard’s mouth curled up. As he poured extra honey into his tea, he really hadn’t meant to get it on the side of the mug, but it was just too perfect. He scooped the droplets up with his fingers and looked at Frank with half-lidded eyes as he placed them in his mouth and hollowed his cheeks just so.
Frank’s hands twitched. He cleared his throat. “Were you good for me today?”
Gerard grinned around his fingers before sliding them from his mouth with a wet pop. He could feel saliva coating his lower lip. “Mhm.”
“What did you do to be good?”
“Well, I ate breakfast like you told me to,” Gerard said, taking a drink in hopes of coating his rapidly drying throat. “And then I worked really hard all day, but not too hard, and when I came home I did some chores and cleaned everything up. I feel a lot better now, not so uptight.”
It was true; he did feel better, and some of that could be credited to Frank. He’d given Gerard the motivation he needed. Frank smirked as he seemed to recognize this.
“Good boy. I’m proud of you,” he said, and Gerard’s chest swelled. He reached out and took another piece of chocolate, but it wasn’t for himself this time. “Open up.”
Gerard felt his face warm as he realized this was a small reward. It wasn’t really the chocolate, but rather the fact itself that Frank was the one feeding him.
He opened his mouth and stuck out his tongue a bit, letting Frank place the square on top of it. Gerard closed his lips around the tips of his fingers just before they were pulled away. In that moment, something about Frank’s demeanor shifted, and Gerard knew as soon as the waiting was over, he was going to be in for it. It gave him a thrill in his stomach that traveled down to his cock, and he sank his teeth into his lower lip as the chocolate melted inside his mouth.
Frank’s eyes skimmed over his body again, taking in his appearance over the rim of his mug. He’d never seen Gerard dressed this way and he was clearly enjoying it. “You look awfully pretty, baby,” he said. “All for me?”
He was taking the lead now, and Gerard gladly let him. “Yeah. All for you.”
“Mm.” Frank licked his lips in a way that could’ve been unintentional, but there was a good chance it wasn’t. “Always so eager to please me.”
Gerard’s eyes had grown heavier and the air was so thick he could hardly breathe. He waited for Frank to do something, absolutely certain he was going to. He was undressing him with his eyes, clearly itching to claim his exposed flesh, but he didn’t. Instead, it was his turn to be the tease. So he backed away, putting a disarming gap between them, and changed the subject.
“Anyways, how was your day? Anything exciting happen?”
And so the real game began – the dance of seemingly casual conversation interspersed with heated looks and suggestive remarks, the occasional wanting touch and the ever-increasing tension. Frank was very good at this game. He knew exactly what he was doing. But then, so did Gerard, in his own way.
They must not have talked for very long, but to Gerard it felt like hours. His job was nothing exciting to speak about, and his eyes glazed over as he rambled. His mind drifted to other places that only made his arousal grow. They never had boring conversations like this unless Frank initiated them for the sake of building suspense.
Gerard finished what he was saying and looked up at Frank with soft eyes. “What did you do today?” he asked.
Frank grinned wolfishly. “Well, let’s see. I went and got you a present.”
Gerard perked up at that. That was something unexpected. “A present?”
Frank nodded. “I left it on your bed if you wanna take a look.”
Frank knew he had him. Gerard knew it too. He grinned and set down his mug and began hurrying to his bedroom with Frank trailing slowly behind him. As soon as he saw it resting on the foot of his bed, his eyes went wide, and something stirred in the pit of his stomach. Apparently, when Frank had mentioned getting him a collar last night, he’d been entirely serious.
Gerard picked it up with tentative fingers. It was sturdy and covered with lavender velvet, with a large silver buckle. Perhaps the best part, however, was the metal loop at the front, studded with one tiny diamond, attached to two delicate chains. At the bottom of those chains hung nipple clamps.
First of all, where did Frank get this? Did he, a real-life angel, waltz into a sex shop and casually browse until he found it? Did he order it, and have it shipped to who-knows-where? Did angels have their own sex shops? How did any of this work? Second of all, fuck yes, Gerard loved where this was going already.
“Do you like it?” Frank asked. Gerard turned around and found him standing in the doorway, observing.
“I love it,” he said softly.
Frank walked to him and wound his arms around his waist, burying his face in the crook of his neck and pressing open-mouthed kisses there. “Want me to put it on for you?”
Gerard nodded emphatically and held the collar out for Frank, who made quick work of wrapping it around his neck. He placed his fingers underneath it to ensure it wouldn’t be too tight before he fastened the buckle at the back. It rested right against Gerard’s skin, perfectly snug.
“Now…” Frank’s hands found the hem of Gerard’s sweater. “We won’t be needing this.”
Gerard let Frank slide his hands beneath the fabric, up and over his stomach, waiting for the moment he realized…
Frank paused when the pads of his fingers brushed across the lace. His thumbs rested right over Gerard’s nipples and even through the fabric it still made his breath hitch as Frank moved them in small circles, more out of curiosity than anything else.
“Are you…?” He didn’t finish his sentence, instead choosing to have a look for himself. “Lift up your arms.”
Gerard did as he said and Frank pulled the sweater off his body quickly, jaw falling open a bit at the sight in front of him.
“Baby,” he breathed. “When’d you get this?”
“I’ve had it for a while,” Gerard said. “I thought you might like it.”
Frank’s eyes snapped up to meet Gerard’s for half a second before he leaned forward and began kissing along his shoulder, humming in appreciation. “‘Like’ might be an understatement.” He hooked one strap with his thumb and pulled it down Gerard’s arm. “So fucking hot.”
Gerard’s heart was hammering against his ribs and all he could do was breathe. Frank took a few steps backwards and pulled Gerard along by his hips, sitting down on the foot of the bed so that he wound up in his lap.
Frank’s lips moved from Gerard’s shoulder and down his chest until he was mouthing at the edge of the lace, licking along the skin there. The feel of his tongue sent sparks of anticipation whizzing across Gerard’s skin, and he whimpered and tangled his fingers into the back of the angel’s hair.
Frank’s mouth moved over the fabric, wetting it with saliva, clamping his teeth around one nipple. He reached around Gerard’s back and undid the clasp there like he’d done it a hundred times before (oh lord, maybe he had). The bra fell to the ground and Frank went right back to where he had been before, tugging Gerard’s nipple into his mouth.
Gerard mewled and pulled at Frank’s hair as he sucked and nibbled. He pushed his chest out, begging for more with silent syntax, squirming when Frank moved to the other side.
Frank pulled away before long. Now his mouth traveled to the sensitive expanse directly below Gerard’s jaw. However, his fingers filled the absence left behind, tracing circles around the pretty pink buds as Gerard struggled to breathe.
“Mine,” Frank growled. “All mine.”
Gerard’s lips parted around a quiet whimper. “Yours.”
Frank tugged on Gerard’s nipples unexpectedly, causing him to squeal, making his face heat up and his head fall to the side, exposing his neck in submission. Frank reached for the clamps just before he hesitated, dropping them and letting go of Gerard’s hips.
“Turn around. You’re going to watch.” Frank was referencing the mirror on the opposite wall.
Gerard nodded and hurried to spin around in his lap, not wanting to waste any time. He settled back down, eyes cast upon his reflection, and watched Frank’s every move as he took one clamp between his fingers.
With his free hand, Frank rolled one nipple between his thumb and forefinger until it was fully firm and pointed. He placed the clamp around it and gradually let it go, allowing the pressure to swell to its peak. Gerard took in a gasp once he felt the wonderful bite.
“Okay?” Frank asked, and Gerard nodded quickly.
Frank applied the other clamp just as slowly and Gerard was transfixed, captivated by his inked fingers as they danced across his chest. He looked like he belonged perched in the angel’s lap, with the collar around his neck to signify he was but a pretty possession. The visual was melting him away. He knew before long he’d be a desperate mess of subservience in the palms of Frank’s hands.
In the mirror, Frank eyed him up and down and licked his lips. It was unfairly hot. Gerard gazed back at him with wide, expectant eyes, small beneath his devouring stare.
“Damn,” Frank said lowly. “You’re the prettiest little thing, aren’t you?”
Warmth traveled across the expanse of Gerard’s skin. His face was pink.
Frank placed his hands on Gerard’s hips and squeezed them possessively, pressed a kiss to his cheekbone. “You look so cute, baby boy. So cute I wanna bend you over and make you scream.”
A gasp rattled in Gerard’s throat. He lengthened his neck, sighed as Frank nibbled the outer edge of his ear.
“But you promised me something first, didn’t you?” Frank continued. “Remind me again what that was.”
“I said I would suck you off.”
Frank smiled and rolled his hips up once. “Sinful little thing,” he rasped. “Making such dirty promises. And to an angel, no less.”
Gerard whimpered, unable to look away from the mirror.
“You’ve fooled so many people into thinking you’re all innocent, but I know your secret. I know you’re a filthy whore.”
“Then make me clean,” Gerard breathed.
Frank’s smile grew at that. “Make you clean?”
“Yes.”
“Hmm. I’m not sure you deserve it.” Frank pulled away to meet Gerard’s gaze in the mirror. “Be a good boy and get on your knees for me.”
Gerard hesitated, eyes glued to their reflection.
“What’s the matter?” Frank asked. “Isn’t that what most people do when they’ve sinned?”
Gerard shuddered because it was so fucking wrong and that made it a million times better. He relished in the idea that he was nothing but a poor creature whose soul Frank may or may not decide to save. He turned around in the angel’s arms, face burning, and sank to the floor.
“Now show me how bad you want it.”
And so Gerard did. He settled himself between Frank’s thighs and pressed kisses to his stomach as his undid his belt, sliding it slowly from around his waist. Frank’s breath hitched as Gerard’s kisses traveled lower, all the while his fingers worked to unbutton his jeans and tug down the zipper. And Gerard took his sweet, sweet time, pushing up Frank’s shirt so he could plant kiss after kiss against his skin, relishing in his body and the feeling of his muscles going taut with anticipation. He made his way lower until he was breathing hotly against Frank’s cock, moving to wrap his lips around it through the fabric of his underwear.
Frank whined and threaded his fingers through Gerard’s hair. His wings fluttered audibly, tremors coursing through his body. Gerard smirked around him as he moved his lips.
Gerard knew Frank would quickly grow desperate. He was impatient and very fun to tease. He never begged, was never in a position to beg, could simply demand that Gerard get on with it. But secretly, Gerard would love to reduce him to begging one day without changing their dynamic. Today was not that day, however.
He used gentle fingers to pull Frank’s cock from his underwear, immediately going to kiss the underside, feeling the fingers in his hair tighten into pleasantly painful fists. Frank kept letting out these whimpery sighs that made Gerard’s heart beat faster, and he wasted no time licking a trail up his shaft, breathing cool air over the moisture left behind. He pressed pursed lips against the head, already feeling beads of precum there, before wrapping his mouth around it.
Frank moaned outright and Gerard used his tongue to lick in hot circles. He gradually lowered himself further and further, taking more, keeping his breaths even as his eyes watered at the intrusion in the back of his throat. Eventually, thanks to sheer will and lots of practice, he’d managed to swallow down all of it. The best part of the experience by far was how fucking loud Frank was. He was never one to hold back from showing his enjoyment.
“So dirty,” he hissed, and he rolled his hips up into Gerard’s mouth, making him choke.
Gerard looked up at Frank with eyes brimming with tears, feeling them creep down his cheeks as he began moving his mouth, working his tongue languidly, making an absolute mess and loving every second of it. This act always felt strangely intimate with Frank in a way Gerard loved. It was servitude, but it was also a selfless display of his affection and desire for him.
Frank stared back at Gerard, gaze blackened. He yanked his hair and forced him further down, holding him there.
Gerard’s head spun delightfully as he persisted, cheeks hollowed and tongue aching from its constant movement. He gripped Frank’s inner thighs, keeping them apart, pleasuring him like it was everything he’d ever wanted.
As soon as Frank’s moans became whinier, leaving his mouth so sweetly, Gerard knew he was close. He moved faster, intensifying his motions, groaning low and rumbly around the cock shoved down his throat. He was begging for it.
Frank’s breathless voice sounded from above him. “You want my cum, baby boy?”
Gerard made a strangled noise. “Mmhm.”
“You’re such a slut. I’m not sure you can be saved anymore.”
God, it was so fucking hot. Gerard shuddered and looked up at Frank with pleading eyes.
Not two seconds later, he tossed his head back with a cry. “Oh, fuck-”
And then he was spilling down Gerard’s throat. Gerard moaned and swallowed it down eagerly, needing every last drop. Frank was rocking his hips and taking in high-pitched gasps that, in all honesty, made him sound far sluttier than Gerard, but that was beside the point. By the time he’d come down from his high, Gerard was tonguing gently at his slit, licking him clean.
“You’re so good,” Frank panted. His hands were stroking Gerard’s hair now in silent thanks.
Gerard smiled at his words and pulled off his cock, tucked it gently back inside his underwear. He went to kiss and lick at his hipbones, savoring every inch of smooth skin, pushing up his shirt before moving to his stomach and chest. Frank decided to remove his shirt altogether and Gerard was grateful as he showered him with affection.
Frank sighed happily, and Gerard settled into his lap so he could nuzzle his jawline. He was allowing a short break from the intensity, which meant as soon as they got back to it, he meant business.
But during the lull, Gerard had other things on his mind. He felt all fuzzy as he lavished Frank’s body with attention, and Frank just played with his hair and soaked it in. Gerard wanted to show love to every part of him while he had the chance.
“Can I touch your wings?” he asked. From what Frank had told him about angels and their customs, he knew touching someone’s wings was a very intimate thing. It’d be best to ask permission first.
Frank smiled and rubbed Gerard’s arm fondly. “Sure, go ahead.” As Gerard leaned against his chest, Frank wrapped his arms around his waist. “I appreciate you asking permission, but you really don’t have to at this point. I think we’re close enough.”
Gerard’s chest warmed at that. He rested his chin against Frank’s shoulder and reached around his back, running his fingers over feathers that were impossibly soft and warm. Frank shivered in response to his touch.
“That feels nice,” Frank mumbled. “I haven’t let anyone do this in a really long time.”
For some reason, that surprised Gerard. “Really?”
“Yeah.” He pressed his lips to Gerard’s cheek and smiled. “It’s like… It takes a lot of trust. It’s a bonding experience.”
Gerard hummed. It really did feel quite intimate, even if he, as a human, couldn’t fully understand it.
Frank sighed and pulled Gerard closer, hugging him against his chest. “I-” He cut himself off, going quiet for a moment.
“Hmm?”
“I’m just glad I met you.”
“Aw.” Gerard lifted his head to look at him. “I bet I can guess why.”
Frank rolled his eyes. “For the record, I wouldn’t be here right now if I didn’t like your personality. I love being around you.”
Gerard actually blushed for some stupid reason. He thought it was amazing they could have such a sweet conversation while he was wearing nipple clamps. The duality of man…
But as if on cue, Frank was clearly ready to start up again. His hands slid down Gerard’s back to squeeze his ass. “Not that everything else is bad or anything…”
Gerard moved forward, pressing against Frank’s crotch. “Yeah?”
Frank sighed and pushed his hips up, hands continuing to wander.
“Well, I did what I promised,” Gerard said. “What’s in it for me?”
“Hey, hey, hey. Let’s not get ahead of ourselves.” Frank gave him a playful smack that made him whine. “You’re supposed to behave, remember?”
Gerard pouted. “But I’ve been waiting all day.”
“I think you can wait a little longer.”
“I think you’re just stubborn.”
Frank gave him a warning glare, but there was an enticing sparkle in his eye that urged Gerard to keep going. “Baby, you need to remember I know what’s good for you. And that means you better listen to me.”
Gerard’s face cracked into a mischievous grin. He knew exactly what he was going to do and exactly the kind of trouble it was going to get him in. “I dunno, Frankie. Maybe you’re just being a bitch.”
Frank growled low in his throat at that. And his unnatural strength really came in handy during times like this, because in the blink of an eye he’d managed to grab Gerard’s hips and manhandle him over his knee. No hesitation, no chance for negotiation. This was exactly what Gerard had hoped would happen, and he knew Frank was well aware.
“You know you’re not allowed to talk to me like that,” Frank said, voice darker than it had been before. “And just when I thought there was a chance I could redeem you…what a shame.”
“Frankie…” Gerard pouted and whined and squirmed around in Frank’s lap, wriggling his hips in a way he knew would work the angel up. He shivered when Frank hooked his fingers under the waistband of his shorts, realizing he was still unaware of the garter belt and the panties.
Frank pulled the shorts down to Gerard’s thighs and stopped breathing for a moment. “Fucking hell.”
Gerard didn’t respond. Instead, he drank in the feeling of Frank running his hands over his ass and upper thighs, snapping the fabric once against his skin.
“Mm.” Frank grabbed at his flesh with a hungry touch. “I didn’t know you were this much of a fucking slut.”
Gerard groaned, shaking his head and slowly slipping back into his role. “Please. Please save me…”
“You deserve to be punished before I show you any kind of mercy.”
Gerard whimpered in faux resignation. “Yes, sir.”
Frank hummed in approval, hands still roaming, hardly able to contain himself. “Twenty,” he said. “And you’re going to keep count, or else we’ll start all over.”
“Okay,” Gerard whispered. When Frank didn’t move, he realized his mistake. Now that he’d started it, he had to keep it up. “Okay, sir.”
“Mm, good.” Frank rubbed one cheek with the flat of his palm, massaging the flesh, before he drew his hand back and brought it down again.
Gerard yelped and rocked his hips against Frank’s thigh, relishing in the pain. Arousal coiled in the pit of his stomach and he never wanted this to end. “O-one…”
By the time they made it to nineteen, Gerard was sobbing and rocking his hips desperately. His ass stung and he was achingly hard, and it took all his willpower not to beg Frank to touch him. Part of him hoped his ass would bruise so he could admire it later, but he knew this spanking probably wouldn’t be enough for that. Maybe some other time…
Frank brought his hand down one last time against the reddened skin, creating a sharp smack.
“Twenty,” Gerard groaned through his teeth. His fingers pressed into the side of Frank’s thigh.
“What do you say?”
“Thank you, sir.”
Frank ran his hand along Gerard’s lower back. “Good boy. You okay?”
“I’m okay,” Gerard said, nodding quickly. He was more than okay.
“Perfect.” Frank soothed Gerard’s skin, running his hands gently over his ass, giving him a moment of respite. His touch was soft and wonderful in a way a human’s never could be. “Can you do something for me?”
“Of course, sir.”
“Be a dear and bring me the lube.”
Gerard shivered at the juxtaposition of his sweet tone of voice and his heated words. He nodded and began getting to his feet, but Frank stopped him first.
“Stay on your knees, baby boy.”
Fuck.
So Gerard lowered himself to the floor on all fours, face burning with humiliation. The extra gravity pulling on the nipple clamps felt amazing and he had to bite his lip to keep from moaning. He crawled to his bedside table, Frank’s gaze pointed at him the whole way, and opened the drawer, feeling around for a minute before his fingers closed around the bottle. He carried it back to Frank eagerly, slipping further into submission along the way.
“Thank you,” Frank said as he took the bottle. He patted his knee and Gerard bent over it again, filled with new excitement because this was by far his favorite position for fingering. He listened to Frank pop the cap open. “So, do you think you’ve learned your lesson yet?”
“I don’t know, sir,” Gerard said truthfully.
“You think this has been enough for you to repent?”
“Oh,” Gerard breathed. “I-I think so.”
“Hm.” Frank pushed the panties aside, ran slicked fingers down Gerard’s crack and over his hole. “Lying is a sin too, last I checked.”
“I’m telling you the truth,” Gerard said, not sure if he really meant it. “Please, sir, I-”
Frank pinched the inside of his thigh hard enough to make him yelp. “You’re worse than I thought. Naughty, naughty boy…” His index finger circled Gerard’s rim now, and he coated his fingers with a tad more lube before slowly pushing in.
“Please, please make me clean,” Gerard moaned, clenching around the intrusion.
“We’ll see.” Frank had one finger buried all the way inside now. He crooked it a few times, stroking so deep, and began moving it in and out. “It’s so easy to imagine you prancing around hell, being a little whore. Maybe that’s where you really belong.”
Gerard moaned and pushed back desperately. “A-ahh! ‘M not a whore.”
Frank chuckled darkly. “What did I just say about telling lies?” He added another finger before long, and they were moving quickly now, spreading apart and crooking over and over to rub every nerve ending they could. He deliberately avoided Gerard’s prostate, probably for the sake of hearing him cry for it.
Gerard’s eyes rolled back into his head when two fingers became three. He was drooling, making incoherent noises. It had been so long since he’d gotten this, and he swore he’d almost forgotten how good it was. Sometimes, when he and Frank were just spending time together, he’d catch himself staring at his hands, imagining his fingers wrapped around his throat or making him scream. He loved everything about them, and they felt so amazing now that he swore it shouldn’t be possible.
A few moments later, Frank growled and pulled his fingers away torturously slow, circling Gerard’s rim a few times for good measure. “Undress and get on the bed.”
Gerard immediately did as he said, remaining on his knees as he removed the panties and stockings, leaving him fully naked. He crawled onto the bed and laid on his stomach, listening as Frank rummaged through one of his dresser drawers, wondering what he was after. The angel padded across the room a few seconds later and discarded the rest of his clothes before sitting down beside Gerard.
“Hands above your head,” he said, and a thrill of excitement shot through Gerard’s body.
He placed he wrists obediently above him and allowed Frank to wind one of his scarves tightly around them, looping it around the bars in his headboard. Out of the corner of his eye, he could see Frank’s cock bobbing between his legs, and he bit the side of his tongue as anticipation coursed through him.
“You want me to fuck you?” Frank asked. He straddled Gerard’s body, hands on either side of him, and Gerard watched the toned muscles in his forearms flex. “Want me to save your wretched soul?”
“Yes, please,” Gerard said. “Want it so bad, sir, need your cock. Don’t make me wait any more.”
Gerard continued to babble as Frank lubed himself up. He pulled the other’s hips off the bed, forcing him up onto his knees as his face and forearms remained pressed against the mattress. “This is a privilege,” he spat out. “You’re the only one who gets this.”
“I know,” Gerard said, wriggling his hips. “I don’t deserve it. I’ve been so bad.”
Frank groaned, pressing forward and lining himself up with Gerard’s entrance, only applying the slightest pressure. There was no need for protection, seeing as angels couldn’t contract or pass along human ailments, and it only added to the experience; Gerard got to relish in the feeling of Frank’s release dripping out of him once it was all over.
“You’re my slut, aren’t you?” Frank asked as he pushed in with one slow motion.
“Only yours.” Gerard’s voice was choked, and he really meant the words he’d spoken. It felt so good being filled up, being claimed and owned. He panted and pushed back against Frank’s hips, needing him as deep as their bodies would allow. Before long, their skin was pressed together.
“Ughh.” Frank snapped his hips back and forth once, hands moving to grab Gerard’s hips. “You feel so fucking good. You always do.”
Gerard moaned through his teeth, clenched around Frank for the sake of hearing those sweet whimpers fall from his lips. He set up a slow pace, keeping his thrusts shallow.
“Sir,” Gerard breathed. “Faster, please.”
“You want more, greedy bitch?” Frank’s nails bit into Gerard’s hipbones. “You want it hard as I can give it to you?”
“Yes! Fuck, yes sir.”
Frank pulled almost all the way out, so only the head of his cock was left inside Gerard’s tight little hole, waiting eagerly to be opened up. He waited a beat before he slammed back in, his skin smacking against Gerard’s, and kept going at a brutal pace that made the bedframe creak beneath them. Frank panted out moans, and Gerard could picture his dark hair hanging in front of his face, eyes glazed over and red lips hanging open, glowing with sex and splendor.
Gerard drew his brows together and wailed, toes curling, trembling as Frank fucked him into practical oblivion. He would’ve been pushed up the bed by the force of the thrusts, so perfect and deep inside of him, had Frank not been clutching his hips with a bruising grip. And as soon as he found his prostate, ramming into it without any kind of warning, Gerard swore he’d died and gone to heaven. His back arched and he made a sound somewhere between a whine and a scream.
Frank’s movements faltered for a moment. “There?” he asked, even though he knew damn well where it was, he just wanted to drag the moment out a bit longer. He pressed his cock against the bundle of nerves again, grinding continually against it.
Gerard sobbed. He tugged against his bindings so hard that even the soft fabric stung his wrists. “O-oh my…fuck, please, mmph.”
“What is it, baby?” Frank asked almost conversationally.
“It’s so good, it’s so good…” Gerard wasn’t crying, but it certainly sounded like he was. He squirmed and whined, all his insides burning with red-hot fire as precum spurted from his cock.
Frank pulled away in a long stroke and slammed back in again. He gasped as Gerard clenched around him and he pounded against his spot over and over, drowning him in unrelenting pleasure. Gerard let out moans that sounded more and more like screams with every thrust.
“Oh, love. I know, I know.” Frank’s voice was soft, but he grabbed Gerard’s hair and pulled hard, yanking his head almost back against his shoulder blades.
Gerard’s eyes rolled back into his head, and his mouth fell open wide. He was so close to the end, but he knew he couldn’t finish until Frank did. It was one of their unspoken rules when it came to instances like this one. “Choke me,” he gasped. “Please, sir.”
Frank laughed breathlessly. “Sinful bitch,” he rasped, but he wrapped his hands around Gerard’s throat nonetheless. “I can’t save you now.”
Gerard sucked in one last breath before Frank restricted his airflow. Warm static began to fill his head almost instantly.
“When you end up in hell, you’ll fit right in. They’ll eat you up, treat you like the little whore you are.”
Gerard wondered (doubted) briefly if hell was really a place. He wondered if heaven was really a place the way people imagined it to be, or if this was as close as he’d ever get. But he was quickly brought back to reality by the pleasure buzzing unrelentingly across his skin, the lack of oxygen making him silently moan.
“But no matter who touches you, you’re still mine. And nothing will ever change that.” Frank’s thrusts were becoming quicker, more uneven, and Gerard knew he was reaching his brink. He clenched around him, leading him there.
“Come on, sir, please,” Gerard whimpered. “I wanna feel you. Wanna be yours.”
Those words tipped Frank over the edge. He let out a strangled cry and Gerard could feel him spilling inside of him, filling him up with pulses of hot cum. He rolled his hips hard into the tight heat and Gerard continued to clench his muscles, pulling him in and milking out every last drop.
Frank collapsed, arms shaking, and pulled away his cock, but he didn’t hesitate to make sure Gerard finished as well. He moved backwards and lowered himself down so he could lick up the cum that was dripping from Gerard’s hole, slick tongue dipping inside of him hungrily. It was so fucking filthy, and Gerard loved it more than anything, moaning noisily into his pillows. As soon as Frank’s hand flew to stroke his aching dick, he was letting out broken cries and chasing his high for all it was worth.
“Please,” Gerard whined. His hips were moving frantically.
“Go ahead, baby,” Frank said, and that was all it took.
Gerard moaned and writhed and lost his mind as he soaked the bedsheets beneath him. Euphoria came over his body in waves, hot and unrelenting. His mind was absent of everything except Frank’s hand and Frank’s mouth and fuck, just Frank in fucking general. Maybe Gerard had been driven to a state of madness by the bliss of his orgasm, or maybe he just really loved him.
When his high was over, he was spent. He fell onto his front and laid there panting, lost in his golden afterglow. He knew they needed to clean up, and he definitely needed to put fresh sheets on the bed, but getting up was just so much. And when he felt Frank’s weight on top of him, the brush of feathers against his ribcage, Gerard never wanted this moment to end. Cleaning up could wait.
They laid there quietly, elevated heartbeats slowly returning to normal. Frank untied Gerard’s hands and unbuckled his collar, pulling it away from his neck. Next he reached underneath him to remove the nipple clamps, and Gerard moaned weakly as he felt the blood rush back to the sensitive flesh. From then on, it was only peace. A sense of comfort and warmth wrapped around the two of them like a blanket. Frank kissed Gerard’s shoulder blades, and the latter grabbed one of the angel’s hands. He held it against his cheek, nuzzled into the palm.
“I was going to tell you something earlier,” Frank said.
It took Gerard a moment, but he eventually remembered. It’d been when he was sitting in Frank’s lap, stroking his wings. He’d sensed something was left unsaid, but he hadn’t pressed. “Do you wanna tell me now?”
And in Frank’s mind, he considered it. He recognized his voice held gravity, far more gravity than two words scrawled at the end of a note. And now his lips were brushing Gerard’s shoulders, memorizing the placement of every freckle. He had seen the stars and faraway worlds that humankind could never touch, but maybe, until the last few months, he hadn’t really seen anything at all. The wonder of the cosmos could be felt in these moments alone, and for the sake of them both, he was so afraid of risking the loss. Maybe, in the end, that’s why he decided not to say it.
“Never mind,” he whispered. “It’s nothing.”
Gerard understood, even though he didn’t really. “That’s okay.”
Frank kissed his neck. “I’ll tell you someday.”
