Stiles knew that Danny and Jackson were more than just best friends. Sure, they had the whole bro-dude, jock thing going on; but there was an extra edge to their relationship that Stiles could sense whenever he was near them. He could almost taste it. It wasn’t anything as overt as touch or even body language. It was just something in their eyes when their gazes snagged and held for a fraction too long. Nobody else seemed to see it. Maybe Stiles only noticed because he wanted something like that so badly for himself. Sometimes he’d catch Danny’s eye and Danny would look at him, holding his gaze until Stiles looked away, flustered and flushed. It felt like Danny’s dark eyes could see right into Stiles’ soul when he did that.
Stiles had gotten into the habit of staying late in the library after school to study. He told himself it was because it was easier to concentrate without the distractions of the uncensored internet at home. But actually, he spent most of his time watching Danny and Jackson covertly through the windows that overlooked the field.
He watched as they trained--throwing and catching, practicing shots and tackles, running each other into the ground--until they were muddy and slow with exhaustion. They slapped each other on the back and trailed towards the locker room, laughing and joking together.
Usually Stiles would pack up his books then, and go home alone to lie on his bed and jerk off to vague, unformed imaginings of a hard body under his hands, stubble grazing his jaw, a strong hand that wasn’t his own wrapped around his dick.
But today was different.
Today, he found his feet taking a left instead of a right at the foot of the stairwell. He found himself heading through the echoing corridors toward the boys’ locker room instead of out to the parking lot to find his jeep.
His heart was pounding as he pushed open the door; palms slick with guilty sweat, even though there was no reason that he shouldn’t be in there. He’d left a history book in his locker earlier--albeit unintentionally--that gave him a cast iron excuse.
He could hear the water running in the showers along with the low echo of muted voices and a soft chuckle. He crept closer, his breathing shallow, heart thudding fast. Stiles couldn’t have stopped himself even if he tried. The need to see them, to see the proof of what he knew in his gut, was overwhelming. He reached the corner that screened the showers from the main part of the locker room and slipped silently around it, holding his breath.
They were oblivious, standing under the spray of water, wrapped around each other, kissing like the rest of the world didn’t exist. Danny was naked except for his jockstrap, and Jackson’s fingers were clutching at his skin, leaving red marks on his hip where they had been. Jackson was still dressed in his shorts and a tank, and Stiles watched as Danny gripped the neckline, tearing at the fabric. There was a sound of ripping and a breathless gust of laughter from Jackson as the pieces of his shirt fell down around his waist. “Fucker!” he exclaimed. But there was no reproach in his voice, just amusement and a wild kind of elation that Stiles had never heard coming out of Jackson’s mouth before.
Danny kissed the word off Jackson’s lips and then moved lower, licking at the water running down Jackson’s neck and torso and sinking to his knees in front of him. Danny pulled at what remained of Jackson’s clothing, stripping the wet material of his shorts and ruined tank down so that Jackson could kick them off.
Stiles reached down, pressing the heel of his hand against his erection as he watched Danny lick a stripe up Jackson’s cock. He paused, grinning up at Jackson who whined and thrust forward, cock bumping Danny’s lips. Danny moved sideways and kissed Jackson’s belly, sucking at the skin over his hipbones. Then he opened his eyes, and looked right at Stiles.
Stiles felt the icy chill of horror pour over him like a bucket of cold water. His face flamed as he stared into those dark eyes, frozen to the spot, bracing himself for their teasing and disgust. Danny’s lips were flushed and parted, eyes glazed with lust. As the moment stretched out, Stiles could feel every beat of his heart, the pulse beneath his skin rapid and panicked as he held his breath. But then Danny just smiled, a knowing smile of subtle invitation. He turned his attention away from Stiles and back to Jackson. His hands on Jackson’s hips angled him a little away from Stiles, not so much that Stiles couldn’t see, but just enough that Jackson would be less likely to notice him lurking in the shadows.
Danny traced the shape of Jackson’s crown with his tongue and then swallowed him down, his eyes fixed on Jackson’s face. Stiles bit his lip, holding back his own groan as Jackson’s echoed loudly around the walls. His cock jerked against his hand and he pressed it harder, rubbing slowly.
Stiles’ gaze slid down to Danny’s crotch, to see where Danny was hard too, straining against his jock. The hard line of him was clearly visible where the water made the fabric almost transparent and Stiles licked his lips, wondering how it would feel in his mouth, how it would taste. As he watched, Danny reached down and pulled himself out, stroking slowly, thumbing at the tip as he hummed around his mouthful of Jackson’s dick. His other hand was on Jackson’s perfect, pert ass, his fingers slipping into the crack as Jackson flexed his hips and fucked into Danny’s mouth.
From the incoherent, desperate sounds that Jackson was making, Stiles didn’t think he was going to last long. Fuck, Stiles was a breath away from coming in his pants and he was barely even touching himself. Danny obviously had some awesome skills. They looked fucking incredible together, as good as any gay porn Stiles had ever watched and that would be a lot. Jackson’s hands were in Danny’s hair now, holding on and controlling him. Danny’s face was blissful, eyes closed, throat working and his lips stretched as Jackson used him.
Stiles’ hand started to move, there was no way he could watch this and not give himself a little sensation. It was rough and uncomfortable through his jeans and he longed for skin on skin but it would have to do. He rubbed harder, desperate to ease the burning ache.
One of Danny’s fingers disappeared inside Jackson and Jackson cried out, bucking helplessly and losing all rhythm. Oh fuck. Jackson was coming. Jackson was coming in Danny’s mouth as Stiles watched and Danny was loving it, moaning like a slut as he swallowed. Stiles looked down at Danny’s hand just in time to see him coming too, spunk spilling white over the grip of his fingers. The sight of that did for Stiles, and he bit on the inside of his cheek to stop himself from crying out. His cock pulsed under his palm as he shot his load in his underwear, hot and sticky and shameful, but so fucking good that his knees nearly gave out with the force of it.
When he looked back up, Danny had pulled off Jackson’s softening dick and was watching Stiles as Jackson sagged over him, panting, one arm braced against the wall. Danny looked down, deliberately, to where Stiles knew there would be a wet patch, and then lifted his gaze back to meet Stiles’. His lips quirked and he flashed Stiles a quick grin. Then he was pushing himself to his feet and kissing Jackson again. Danny’s hands were gentle, cupping Jackson’s cheeks and sliding into his hair as Jackson clung to him, and Stiles wondered if Jackson knew how fucking lucky he was. Stiles would give anything to have someone touch him like that.
Stiles left the locker room as silently as he’d arrived and the door swung shut behind him, leaving him alone in the silent corridor. He sighed and adjusted his sticky underwear with a grimace, mentally apologising to his dick. Time to head home for a solo shower and treat it to a proper jerk off.