During morning practice on the rival field, I caught sight of this shirtless dude from their team. Blond hair cropped short, abs ripped and glistening with sweat as he stretched deep into a lunge. His happy trail dipped low into those loose shorts, V lines framing everything like an invitation. My cock thickened right there on the dirt, forcing me to adjust mid-drill. Later, alone in the locker room, still horny as fuck, I downloaded Grindr to explore the curiosity gnawing at me. Swiped on this profile called ‘campus_quickie’; his torso pic showing that same blond happy trail vanishing into gym shorts. Now in this empty stairwell, heart slamming, it hit me. Same dude. The blond from the field. The rival we were here to crush this afternoon.
He didn't say anything else.
Neither did I.
The stairwell stayed quiet except for our breathing.
He broke the silence first. Tilted his head, that easy smirk deepening as he crossed his arms over his chest. The number 12 on his jersey stretched tight. "So," he said, voice low and teasing, "you playing against us this afternoon? Saw your team's bus roll in. We're gonna beat your asses out there."
I swallowed hard. Cock still throbbed, trapped in my pants. The shock mixed with the heat, made everything sharper. He was right. Rivals. Enemies on the field in a few hours. But here, inches away, he looked even hotter up close. Green eyes locked on mine, blond stubble catching the dim light.
He laughed, short and rough. "But let me beat you off first. Or you gonna bail now that you know?"
The words landed like a challenge. My face burned hotter, but something cocky surged up. I wasn't backing down. Not with my dick this hard, aching for release. Internally my stomach twisted, nerves firing like pre-game jitters, but I played it cool. Stepped back, dropped onto the second-to-last stair at the bottom. Spread my legs wide, knees apart, leaning back on my elbows against the step behind me. "Fuck Nah, man" I said, voice steadier than I felt. "Just, do your thing."
His grin widened. He stepped down slow, eyes raking over me. Sat on the stair just below mine, right between my spread thighs. Close enough his knees brushed the insides of my legs. Heat poured off him. That clean woodsy cologne mixed with fresh practice sweat hit me again. Made my balls tighten.
He didn't waste time. Leaned in, hands sliding up my thighs over the fabric of my pants. Firm grip, thumbs pressing into muscle. My cock jumped under the touch, outline visible now, straining against the compression. He hooked fingers into the waistband, tugged slow. Pants and boxers came down together in one pull. Cool air hit my skin. My dick sprang free, hard and heavy, slapping against my stomach. Pre-cum already beaded at the tip, stringing down to my happy trail. Seven inches, thick enough to fill a hand, veins standing out from the blood rush.
"Fuck," he muttered, eyes fixed on it. "Nice cock, bro."
My hands stayed awkward at my sides, fingers digging into the concrete step for grip. Heart pounded so loud I swore he could hear it. This was it. First time a guy would touch me like this. Suck me off. I'd been horny all morning, cock leaking since that glimpse of him shirtless on the field. Now here he was, blond stubble framing full lips, green eyes hungry as they flicked up to mine. Hot as fuck. Rival or not, his body screamed athlete: lean muscle, broad shoulders under that jersey, the kind of build that dominated on the diamond.
He wrapped one hand around the base. Slow squeeze. My hips jerked up on instinct. Skin hot against mine. Calluses from batting practice or weights… rough in the best way. He stroked once, base to tip, thumb swiping the pre-cum and spreading it over. I bit my lip, stifled a groan. The stairwell echoed every little sound: my shallow breaths, the wet slide of his fist.
Then he leaned in closer. Breath ghosted over the head, warm and teasing. His tongue flicked out, flat and slow, lapping the slit. Tasted the pre-cum. My cock pulsed in his grip. He circled the head next, tongue swirling lazy, lips brushing the ridge. Wet heat everywhere. I gripped the step harder, knuckles white. Mind raced. This felt insane. A guy's mouth on my dick. His blond hair inches from my stomach, stubble scraping lightly against my thigh as he angled in. But fuck, it was good. Better than I'd imagined jerking off alone last night. Hotter than the sorority fantasies I'd clung to.
He took me in deeper. Lips parted, slid down slowly over the head. Tight seal. Cheeks hollowed as he sucked every single inch of my dick, swallowing me. Wet warmth enveloped everything. Tongue pressed flat under the shaft, rubbing the vein. I exhaled hard, head falling back against the upper step. "Shit, fuck bro" I whispered.
He hummed low around me. Vibration shot straight to my balls. Started bobbing. Slow at first. Up and down, hand stroking when his mouth played around the tip. Wet sounds filled the stairwell: slurps, pops when he pulled back to breathe, then dove again. Deeper each time. His free hand gripped my thigh, fingers digging in, holding me steady. Green eyes flicked up again, locked on my face. Hungry. Watching my reactions. Blond stubble grazed my skin with every bob. The sight did something to me. This hot rival on his knees, mouth full of my cock, jersey still on like a reminder of the game ahead.
My mind spun faster. Flashed to my teammate Connor. Last night. The way his dick had throbbed against my ass through fabric. The low groan when he came. What if it was him down there instead? Swallowing me. Or what if I was the one going down on him instead. Green eyes turned to Connor's dark ones. I shoved the thought down. Focused on now. The dude’s tongue swirled harder, pressing the sensitive spot under the head. My hips rocked up, fucking shallow into his mouth. He took it. Relaxed his throat, let me slide deeper. Gag reflex kicked once, soft and muffled, but he swallowed around it. Tightened everything. Milked me.
"Fuck, yeah," I muttered. Couldn't help it. Balls drew up tight. The build started low in my gut. His hand sped up, twisting on the upstroke. Mouth worked faster. Sloppy now. Saliva dripped down my shaft, soaked my balls. I reached down without thinking, hand tangling in his hair. Feeling the rhythm as he bobbed.
He pulled back once, lips shiny and swollen. "You close?" Voice wrecked, low rasp.
I nodded. "Yeah. Keep going."
He dove back in. Deeper. Nose brushed my happy trail. Throat convulsed around the head. Sucked hard. Hand pumped the base quick and firm. The combo wrecked me. Heat coiled tight. Balls ached. I thrust up once, harder. "Gonna... fuck…. Gonna cum bro."
He didn't pull off. Stayed deep. Throat working. I came hard. First pulse hit the back of his mouth. Thick ropes. He swallowed fast, gulps audible over my choked groan. I bit my arm to muffle it, hips jerking with every spurt. Pleasure ripped through me, hot and endless. He milked it all, tongue pressing until the last twitch. Pulled off slow, licked the head clean. Wiped his mouth. Stood up, grin back in place. Bulge in his shorts obvious now, thick and tented.
"Told you," he said, voice casual like we hadn't just done that. "Clean and easy. Good luck out there this afternoon. Don't let it fuck with your head."
I sat there shaky, cock softening against my thigh. Pulled my pants up with trembling hands.
"Yeah," I mumbled. "Thanks... or whatever."
He laughed again. Turned and headed down the stairs. Footsteps echoed until the door clicked shut below. Gone.
I stayed put a minute. Leaned back against the step, catching my breath. Post-nut haze washed over me. Relief flooded everything. Balls empty. Head clear for the first time all morning. But underneath, confusion stirred. That had been hot as fuck. His mouth perfect. Tight. Skilled. First guy blowjob, and it blew every girl experience out of the water. No hesitation. Just raw need met.
But it felt... empty. Quick. Detached. No lingering touch like Connor's arm over my waist last night. No shared grunts under the sheet. No backs pressed together after. This was just scratching an itch. Getting it out of my system. Right? I told myself yeah. Pretended it was nothing. Just circumstance. A rival stairwell hookup to kill the horniness before the game. No homo. No big deal.
The guilt hit next. Sneaky and low. Connor's face flashed again. His easy laugh this morning. The way he'd stretched in boxers, outline heavy. What if he knew? Would he care? Or would it push us closer? The thought made my spent cock twitch lazy. Fuck. The door in my head cracked wider. Craving more than a campus quickie. Craving him.
I stood up. Legs wobbly at first. Checked my phone. Break almost over. Sneaked out the library side door, head down through campus paths. Made it back to the visitor dugout just as Coach called us in for final prep. Teammates milled around, taping wrists, adjusting cleats. No one asked where I'd been. Good.
Connor spotted me first. Jogged over from the bullpen, jersey soaked with warm-up sweat. Shoulders broad, arms pumped from throwing. "Where you disappear to, bro? Look flushed as hell. You good?"
I forced a grin. "Yeah. Just cleared my head. Ready to crush these punks."
He clapped my shoulder. Firm squeeze. Lingered a second longer than usual. "That's what I like to hear. Let's bury them."
Connor’s touch burned through my jersey, sent a fresh spark straight to my groin. My cock stirred again, lazy but insistent, thickening against the damp pouch of my jock. Fuck. I wasn’t sure I’d be able to focus on the game this afternoon. Not with the blond rival stepping up to the plate later, number 12, mouth still fresh with the taste of me. Not with Connor right here, big and solid, his hand lingering on my shoulder like he owned the contact. Two guys pulling me in opposite directions; one quick and anonymous, one slow and dangerous. I told myself it was just adrenaline. Just circumstance. But the ache said otherwise. The afternoon was gonna be hell. Or the start of something I couldn’t pretend away anymore.
If you enjoyed this story, consider supporting the author on Patreon.