Work Text:
The strongest memory Gerard had of Frank wasn't the first time they kissed backstage, sweaty and adrenaline-drunk after a show. It wasn't the night Frank crawled into his bunk on the tour bus, whispering jokes until Gerard laughed so hard he snorted. No, the memory that stuck with him, the one that surfaced at three AM when he couldn't sleep, was the time Frank puked in a Denny's parking lot, grinning like an idiot afterward with watery eyes and spit on his chin.
It had been after some shitty diner pancakes, the kind that sat in your stomach like cement. Frank had insisted on eating them anyway, drowning the stack in syrup until the plate was a sticky mess, then promptly lost the battle with his stomach ten minutes later. Gerard had held his hair back without thinking, fingers tangling in the damp strands at Frank's nape, mesmerized by the way his throat worked. The sharp, sour smell should've been gross. It WAS gross. But something about Frank's ragged breaths afterward, the way he'd wiped his mouth with the back of his hand and immediately started laughing, Gerard had wanted to kiss him right there.
Gerard had never told anyone about the Denny's incident, not Mikey when he'd asked why they came back smelling like antiseptic and maple syrup, not Ray when he'd caught Gerard staring at Frank's throat during soundcheck the next day. It wasn't the kind of thing you admitted out loud, ”Yeah, I kinda get a boner when my boyfriend pukes”. But Frank had a way of pulling weird confessions out of him, so when he cornered Gerard in the green room after a show months later, fingers hooked in his belt loops and breathing warm against his jaw, Gerard had blurted, "I like it. When you get sick."
Frank had gone still for half a second, then grinned, sharp and knowing. "Knew it," he'd said, and kissed him before Gerard could panic. Gerard had expected Frank to tease him mercilessly about it. But Frank just smirked against his mouth, teeth scraping Gerard’s lower lip, and murmured, “Knew you were into some fucked-up shit.”
The thing was, Frank played into it. Not often, not in a way that felt performative, but sometimes when they were tangled in some shitty motel bed after a basement show and some celebratory pb and js, Frank would press Gerard’s hand against his own stomach and groan, “Feel how full I am.” And Gerard would, fingers splayed over the warm curve of Frank’s belly, imagining the weight of dinner sloshing inside him. Frank would watch his face, pupils blown wide, and whisper, “What if I puked all over you right now?”
Frank's words lingered between them, thick and syrupy like the diner pancakes that had started this whole thing. Gerard's fingers twitched against Frank's stomach, feeling the faint churn beneath his skin. The motel air conditioner wheezed like a dying animal, pushing damp, lukewarm air over their tangled legs.
Gerard’s fingers dug into Frank’s hips, thumbs pressing into the soft dip of his waist. Frank exhaled sharply and Gerard watched the way his throat worked, the bob of his Adam’s apple as he swallowed. “You’re such a fucking liar,” Gerard muttered, but his voice was rough, his dick already hard against Frank’s thigh. “You wouldn’t do it.”
"Wouldn't I?" Frank's voice dropped into that gravelly register that made Gerard's pulse stutter. He pressed Gerard's hand harder against his stomach, until Gerard could feel the faint tension of overfullness beneath his fingertips. "You like watching me come undone. Doesn't matter how."
Frank rolled them over until Gerard was flat on his back, Frank straddling him. The motel lamp casting his silhouette onto the wall, highlighting the sweat beading at his temples. Frank was leaning down, pressing their foreheads together. His breath was hot, sour with the ghost of beer and diner food, and Gerard’s stomach twisted in anticipation.
Frank watched Gerard's eyes carefully as he placed his middle and ring finger onto his own tongue. Thrusting his fingers in and out of his mouth, jabbing at the back of his throat and irritating his uvula. Then Frank’s body went still, and he gagged, wet and sudden, right against Gerard’s mouth.
Gerard froze.
Frank’s body jerked with another gag. The sound was raw, unfiltered, nothing like the polished moans from porn or the exaggerated retching in bad horror movies. This was real, the shudder of Frank’s ribs under Gerard’s hands, the wet noises from Frank fingering his mouth, Gerard’s brain short-circuited. His grip tightened on Frank’s hips, fingers digging into skin, and he didn’t pull away.
Frank gagged again, a thick, choking noise, and then it happened, warmth splashed against Gerard’s chin, dripping down his throat. The smell hit him first, sour, fermented beer and the greasy undertones of peanut butter. Frank’s stomach heaved properly this time, and Gerard felt the spill of it, hot and slick, against his collarbone. He gasped, and Frank groaned against him, spit covered lips dragging across Gerard’s cheek as he coughed.
“Fuck,” Frank panted, trembling. His breath stuttered against Gerard’s skin, damp and sticky. “Fuck, Gee”
Gerard didn’t answer. His hands slid up Frank’s sides, mapping the tremors wracking his body, the way his stomach clenched under Gerard’s palms. Frank’s forehead was pressed to his shoulder now, his breathing ragged. Gerard could feel the mess between them, the wet smear on his chest, the dampness clinging to Frank’s chin, most importantly, his dick throbbed against Frank’s thigh.
Frank exhaled a shaky laugh against Gerard’s shoulder, his breath warm and damp where he’d buried his face. “You’re fucking filthy,” he murmured, voice hoarse from the strain. His fingers flexed against Gerard’s ribs, nails biting just shy of pain. “You actually, jeez, you like this?”
Gerard couldn’t deny it, not with the evidence pooling between them, sticky and sour-smelling. He dragged a hand up Frank’s spine, feeling each bone through damp skin. “Yeah,” he admitted, “Yeah, I do.”
Frank lifted his head then, eyes glazed and mouth still wet. He looked wrecked, lips parted, cheeks flushed, a strand of bile clinging to his chin. Gerard wiped it away with his thumb before he could think better of it, smearing it across Frank’s lower lip. Frank’s tongue darted out, licking at the mess.
“Taste yourself,” Gerard said, low and commanding in a way that surprised even him. He pressed his thumb harder against Frank’s mouth, until Frank’s lips parted around it. “Open, Frankie."
Frank whined around the intrusion, saliva pooling at the corners of his lips. His hands fisted in the sheets on either side of Gerard’s head, knuckles white, but he didn’t pull away. Instead, he rocked his hips down, grinding his own erection against Gerard’s stomach in a slow, filthy roll that made Gerard’s vision blur. The friction was hot and insistent, and Gerard bit back a groan.
“You wanna fuck me like this?” Frank murmured when Gerard finally pulled his thumb free, strings of spit still connecting them. His voice was wrecked, raw from the strain of vomiting, and the sound went straight to Gerard’s dick. “All dirty and ruined?”
Gerard's breath stuttered out of him in a sharp exhale, his fingers tightening in Frank's hair. "Yeah," he rasped, the word scraping his throat raw. "Fuck, yeah, I do."
Frank shifted his weight, rolling his hips again, deliberate and slow, the drag of his cock against Gerard's stomach sending sparks up his spine. "Then do it," he taunted, voice dripping with challenge. His fingers walked down Gerard's chest, through the mess pooling there, smearing it wider.
Gerard hadn't been scared of anything involving Frank since the first time he'd kissed him in a backstage bathroom, all spit and chaos, but the taunt lit something primal in his gut anyway. He flipped them with a grunt, Frank's surprised laugh cut short as his back hit the mattress, Gerard looming over him. Frank's chest rose and fell rapidly, his skin flushed from collarbone to cheekbones, and Gerard wanted to bite the pulse jumping in his throat.
"Condom," Gerard demanded, hand already fumbling for the nightstand drawer, knocking over a half-empty beer bottle.
Frank kicked the drawer shut with his heel before Gerard could reach it. "Nah," he murmured, voice rough as gravel and twice as warm. "I want you to feel it." He arched his back, pressing his bloated stomach flush against Gerard's, the sour-wet mess between them smearing wider. "Want you to remember this every time you fuck me after."
Gerard's breath caught, half protest, half want, but Frank was already hooking a leg around his waist, dragging him closer. The slide of skin on skin was obscene, the wet slap of their bodies echoing in the cheap motel room. Frank's cock rubbed against Gerard's belly, leaving sticky streaks, and Gerard groaned, low and ragged. "fuck, you're filthy," he muttered, but his hips stuttered forward anyway, the head of his dick catching against Frank's hole.
Frank grinned up at him, and pushed down.
The stretch was brutal, no prep, no lube, just the slick of sweat and Frank's stubborn insistence. But Gerard couldn't look away from the way Frank's face twisted, his lips parting. Gerard braced himself on one forearm, the other hand gripping Frank's hip hard enough to bruise. "Fuck," he choked out, "fuck, Frankie, you're–"
Frank's thighs trembled where Gerard gripped them, his toes curling against the small of Gerard's back. "Yeah," he gasped, voice shredded raw. "Yeah, just like that" His stomach lurched visibly under Gerard's hands, the muscles jumping with another wave of nausea, and Gerard watched as Frank's throat worked around nothing. "Fuck, Gee, I think I'm gonn–"
Gerard didn't give him time to finish the thought. He snapped his hips forward, burying himself deeper into the younger boy. Frank's entire body seized, a wet gag tearing from his lips as his stomach rebelled the sudden motions. Gerard felt the hot spill of it against his sternum before he saw it, Frank's body convulsing beneath him, bile splattering between them in thick ropes. The smell was acidic, the taste of it sharp on Gerard's tongue where Frank's panting breaths ghosted over his mouth.
"God," Gerard groaned, grinding deeper as Frank shuddered through the aftershocks. His cock pulsed inside Frank, the tight clutch of him almost painful now, and Gerard could feel every twitch of Frank's overstimulated body. Frank's fingers scrabbled at Gerard's shoulders, nails digging into his skin, his chest heaving. "Look at you," Gerard murmured, thumbing the mess from Frank's chin, smearing it across his cheekbone. "Look what you did."
Frank whimpered, high and broken, his hips jerking erratically. "Please," he slurred, slick lips brushing Gerard's with every ragged exhale. "Please, please…"
Gerard’s fingers tangled in Frank’s dark hair, pulling his head back to expose the vulnerable line of his throat. “Please what?” he growled, hips rolling in a slow, deliberate circle that made Frank’s breath hitch. “Use your words, Frankie.”
Frank’s lips parted around a ragged moan, his body tightening around Gerard in a way that nearly undid him. “Fuck, Gee…” His words dissolved into a wet cough as Gerard thrust deeper, the angle brutal, unforgiving.
Gerard could feel Frank’s heartbeat where their chests pressed together, wild and erratic. He licked a stripe up Frank’s throat, tasting salt and bile, and Frank shuddered beneath him, his thighs trembling where they clung to Gerard’s waist. “You close?” Frank murmured, his voice wrecked, lips brushing Gerard’s jaw.
The question sent a bolt of heat straight to Gerard’s gut. He bit down on a groan, his hips stuttering as Frank clenched around him deliberately, milking him with a roll of his hips that was pure torture. “Fuck,” Gerard choked out, forehead dropping to Frank’s shoulder. His fingers dug into the meat of Frank’s thighs, sure to leave bruises, and Frank whimpered, oversensitive but still pushing back against him, greedy for it.
Frank’s hand slid between them, fingers trailing through the mess on Gerard’s stomach before wrapping around Gerard’s wrist. He guided Gerard’s hand to his own throat, pressing Gerard’s palm flat against the flutter of his pulse. “Feel that?” Frank rasped, his breath hot against Gerard’s cheek. “That’s you.”
Gerard’s fingers twitched against Frank’s throat, feeling the rapid flutter beneath his palm. The sensation sent a jolt through him, electric and raw, and he tightened his grip around his neck just enough to feel Frank’s breath hitch.
“frankie,” Gerard muttered, dragging his thumb over the damp hollow of Frank’s throat. The room smelled like sex and sweat and the sharp tang of vomit, and Gerard inhaled it like it was fucking oxygen.
Frank’s fingers tightened around Gerard’s wrist. “Come on,” he urged, voice wrecked and rasping. His hips lifted in a desperate attempt to meet Gerard’s thrusts, his body still trembling from oversensitivity. “Don’t fucking stop.”
Gerard didn’t. He drove into Frank, the slap of skin echoing, and Frank’s back arched off the mattress, his mouth falling open in a silent moan. The sight of him, wrecked and filthy, streaked with his own mess, was enough to send Gerard over the edge. He fucked into Frank with brutal, uneven thrusts, chasing the friction, the heat, the way Frank’s body clutched at him like it was made for him.
The moment Gerard came was less an explosion and more a slow unraveling. His hips stuttering against Frank’s, his breath hitching in uneven bursts, until finally, he spilled inside Frank with a groan that sounded punched out of him. Frank gasped beneath him, trembling. Gerard could feel the pulse of his own release inside Frank, the wet slide of it when he pulled out, sticky and wet.
For a long moment, they just breathed. Frank’s chest rising and falling rapidly, Gerard’s forehead pressed to his collarbone, both of them slick with sweat and other, messier things.
Frank’s fingers traced idle patterns on Gerard’s back, nails scratching lightly over sweaty skin. “Fuck,” he murmured, voice hoarse from overuse. His throat worked around a swallow, and Gerard watched, mesmerized, as Frank licked his lips. “That was fucked up.”
Gerard huffed a laugh against Frank’s skin, pressing a kiss to the hollow of his throat. “Yeah,” he agreed, voice rough. His fingers falling over the curve of Frank’s hipbone before asking, “you okay?”
Frank laughed, swiping his thumb across Gerard's bottom lip, smearing a streak of puke that had dried there unnoticed. "Never better," he lied, but the way his stomach gave a wet, audible gurgle betrayed him. "But I'm never eating peanut butter and jelly again."
