Work Header

two pretty fly bi guys

Work Text:

Zack is probably on the road to becoming an expert at masturbating, at this point, with the sheer lack of sex he’s been having.

And it’s not like he isn’t able to find someone to, y’know, mess around with- he’s an attractive guy, and he’s smooth-talking enough that he could easily find someone to hook up with, if he wanted to.

The issue stems from the fact that, ever since they moved in together, he’s sort of had a huge crush on his best friend/roommate Justin.

He’s always harbored some feelings for Justin- being not-straight will do that to you- but ever since they started living together…

Jesus Christ, save him, Justin is shirtless far too often for Zack’s little bisexual heart to handle. It doesn’t help that he’s his best friend, and hilarious, and kind, and so bright, and he makes Zack smile so damn much and it really, really isn’t fair, at all. Not even remotely fair.

So Zack does what any horny, crushing, not-straight, sex-starved, self-proclaimed masturbation expert would do, and he fingers himself.

He can’t say he’s ever done it before now, but holy shit, why hasn’t he? He’s laying spread out on his back in his room, on top of his bedsheets, completely exposed. Two fingers up his ass, slowly thrusting in and out.

At first it felt fucking weird, invasive, but then he imagined Justin doing this to him, and ho-ly fuck.

Zack’s fingers move in and out, hitting at that little spot inside him that makes him see stars and his eyes roll back and his toes curl.

Imagine if Justin were here, touching him like this- it’s downright shameful to think thoughts like this about his best fucking friend, but, God, imagine his deft fingers working their way inside him, slowly as to not hurt him, but becoming rougher as Zack starts to fall apart beneath him.

Imagine Justin spreading Zack’s legs apart, laying him out, fucking him nice and good with his fingers, just like Zack is doing to himself right now.

Zack’s cock fucking throbs, and he can’t help but let out a positively embarrassing whine, reaching down with the hand that wasn’t fingering his asshole, and-

“Hey, Zack, have you seen my- OH! Oh, shit, Jesus Christ!” Justin says as he opens Zack’s door abruptly, and, yeah, oh shit is right.

This is the nightmare scenario.

Zack may be fucked out and really turned on right now, but not enough to cancel out his complete and utter mortification at that moment. He and Justin make eye contact from across the room, and it’s maybe the worst thing to ever happen to him.

“Shit! I thought you weren’t home, oh my God, get out, dude-!”

Justin covers his eyes after staring for several seconds too long.

“I am so fucking sorry man oh my God, oh my God, go finish your thing, Jesus, I’m so sorry,” Justin blathers as he backs out, blindly reaching for the door knob and eventually closing Zack’s door.


Well. That happened.

That was sobering. And also a major turn-off.

Might as well finish what he started, though.

Justin and Zack don’t make any eye contact at all as they sit across from each other, a pizza between them on the table. Fridays were pizza nights, nothing could change that. Not even the fact that Zack had been caught fingering himself just hours prior, and no amount of showering could make him feel clean after having been caught in the act.

There’s an incredibly thick amount of tension between the two, silence weighing heavy. As much as he loves pizza, Zack doesn’t feel all that hungry at the moment.

“So…” Justin starts. What? What could Justin (his best friend and crush) possibly have to say about this situation? Nothing positive, he’s sure.

“So?” Zack says.

Alas, this is it. Justin, his closest friend, is going to announce that he’s moving out, and that he will never speak to him again. He’s lost his best friend forever by jacking off with the door unlocked. That’s fine; Zack had already partially formed a plan to move across the country and change his name legally to Zach With An H, as to not be recognized by Justin should they cross paths again—

“Are you, like… not straight?”

Hm. Ah. Okay. Not the question Zack expected, but probably the question he should have expected.

Hell, Zack’s got nothing left to lose. His dignity left him a few hours ago, took the train straight (haha, straight) out of town, never to be seen again.

“Yeah, I’m bisexual,” Zack answers as he takes a bite of pizza.

“Cool. Cool, cool,” Justin mumbles. “Me too, actually.”

Zack chokes on his food. Actually, honest-to-God chokes, like really chokes on it, standing up and hunching over and coughing and sputtering like a broken engine.

“Jesus, bro, you good? Do you need me to do the heimlich? Mouth-to-mouth? Oh shit-“ Justin has his hand on him, patting him on the back.

Zack gathers himself and swallows his pizza, hard.

“You’d give me mouth-to-mouth?” is the first thing Zack says after a long pause, making eye contact with Justin.

“Yeah, dude.”

They’re just- staring at each other, now. Justin licks his lips, leaning his head in minutely closer to Zack’s.

Are- are they about to—?

And then Justin’s lips are on his.

Not to sound like a teenager having their first kiss with their crush under the bleachers, but Zack swears fireworks burst behind his eyes and angels are singing, like, goddamn. He’s kissing his crush.

Justin pulls back just as quickly as he’d first leant in, eyes wide. At some point, his hands had grasped onto Zack’s hips, which he doesn’t mind at all.

Zack hauls him back in by the back of the neck, almost hungrily, into an open mouthed kiss. Justin tastes like- well, like spit, and like the slice of pepperoni pizza he just ate.

It should’ve been gross, but instead it’s just- just good, warm and familiar and all he could’ve hoped for.

Justin’s hands slip from their position on Zack’s hips to slide up his shirt, grabbing at his waist.

They lean back from each other, panting, faces both flushed crimson.

“Bedroom?” Zack offers.

“Yeah,” Justin breathes.

“Mine or yours?”

“Mine, I need to change my sheets soon anyways.” Zack tries not to blush even more at the implications of that.

They shed their clothes in the hallway as they make their way to Justin’s room, and before he knows it, Zack’s panting and moaning, laying on his back in Justin’s bed, both boys only wearing their boxers.

God, he wants Justin so fucking badly.

Justin is sat between Zack’s spread legs, taking in the view.

“I’ve wanted you for so long, dude,” Justin laughs, after a brief pause between them. “Like, wanted to date you and shit, not just- yeah. This too, though.”

Zack grins at that. “Same! Same. I wanna date you.” Saying it out loud felt like a chain had been broken, like he’d finally been freed from the prison that was his years-in-the-making “unrequited” crush on his best bro. His stomach flips.

“Guess we’re boyfriends now,” Justin says. Any amount of nervousness Zack might’ve had dissolves into just want. They look into each other’s eyes in a way that can only be described as dreamily.

“Guess so,” Zack says breathlessly, his smile causing his eyes to crinkle at the corners. The fact that they could casually converse while very nearly naked and definitely very horny is a testament to the deepness of their friendship. “I’m down with that.”

Holy fuck, Zack thinks suddenly. This is really, actually happening, it isn’t just another jerk-off sesh fantasy. He’s about to have sex with his crush. He’s dating his crush now. This is unreal.

“How do we wanna…?” Zack queries, trying not to flip shit. Justin squints at him, so he continues. “Like, you know. Fuck. How do we want to fuck?”

“...Can I fuck you?” Justin asks, looking eager.

Zack’s eyes widen, not for any negative reason, but out of pleasant surprise. “Dude. Yes, please, I’ve literally been fantasizing about that exact thing for months,” Zack sighs.

“Me too,” Justin says, before getting a certain look on his face like he has an idea- a look Zack knows all too well. “I always figured you weren’t into guys, ‘til I saw you touching yourself earlier. I couldn’t stop thinking about it all day. You looked so hot, all spread out like that.”

Yep, yeah, okay. Whatever Justin was going for there absolutely worked on Zack, as a dizzying shot of arousal hits his groin and he moves his legs even further apart. God damn, he’s pretty sure he’s never been this hard in his life.

“Were you thinking about me when you fingered yourself?” Justin asks. Zack just makes a high-pitched noise, his face going hot. “Were you?”

“Duh,” Zack chokes out. “God, dude, you don’t even know what you do to me.”

“Same, fucking- same,” Justin breathes, giving Zack a hard but quick peck on the lips. “I’ve thought about fucking you before, you know. Against the wall in the hallway, or in the shower. Making you scream my name.”

Jesus Christ, the dirty talk is really doing it for Zack. “Mmm. I’d say our shower’s seen worse,” Zack says, laughing. “But we’re definitely doing that eventually,” Zack promises, before pulling Justin in by the back of the head and kissing him senseless again.

They make out for what is probably an unreasonably, obnoxiously long amount of time, though neither really cares how long it is- they’ve waited long enough for each other. Justin’s hands are on either side of Zack’s head, and Zack’s hands are buried in Justin’s short hair.

Both of them are good kissers, so kissing each other? It’s fucking incredible, incomparable, just the right amount of tongue and movement, and so, so fucking hot. Zack can't get enough of it.

Then Justin grinds his hips down against Zack’s instinctively, and, holy fuck. The friction of their cocks rubbing against each other, even through the fabric of their boxers, or especially through the fabric, is everything.

Zack pulls back from the kiss to moan, a sound dripping with lust. Justin’s gorgeously full lips are almost red from their kissing. His eyes are dark and dilated with need, and Zack’s sure his own are the same.

“Can I…” Justin starts, before moving down to kiss and nip at Zack’s neck.

“Please do,” Zack says. “Mark me, Justin.”

With that, Justin starts leaving hickeys on Zack’s neck in earnest, sucking at one spot before moving to another, almost like he’s claiming him.

Zack loves the idea of that, of being Justin’s, of Justin being his, and of the whole world being able to see it.

“Justin,” Zack groans. He’s a little surprised at how needy his own voice sounds when saying Justin’s name, a few octaves too high- he didn’t think he could ever feel this… slutty, for lack of a better, non-offensive word. And he wants to be a slut for Justin, wants to give him anything he craves, and most of all, he wants Justin to do the same for him.

“What do you want, Zack?” Justin says as he pulls away from Zack’s neck, his voice thick with desire. “Gotta use your words.”

“I want you to finger me and fuck me,” Zack nearly begs. “I want you so badly.”

God, okay,” Justin says. “Can I take these off?” He asks, his fingers hooking under the elastic waistband of Zack’s boxers.

“Only if you take off yours.”

“No, I’m just gonna leave my underwear on while we fuck,” Justin says sarcastically, causing Zack to glare at him. “Okay, okay.”

Justin pulls off Zack’s underwear- a wet spot had formed on the fabric where his dick had been leaking precum, and Zack scrunches his nose up at that- before standing up and pulling off his own, then grabbing lube and condoms from his nightstand.

“Hey- I’m clean, if you wanna, uh, skip the condom.”

Justin’s eyes widen, and he bites his bottom lip. Oh, that’s hot- Justin had such nice lips.

He puts the box of condoms away with a nod before crawling back to his position between Zack’s legs, kissing him on the cheek. Zack could get way, way used to the casual, sugar-sweet physical affection of cheek kisses- he’s so, so weak for Justin. He’s always been weak for Justin.

“You good?” Justin asks, peering down at him.

“Yeah, you?”

“Never been better.”

Justin squirts some lube onto his fingers, warming it up between his hands. He kisses Zack gently as he pushes his forefinger in. Zack had been fingering himself earlier that day, so he slid in with ease.

Justin ever so carefully started pumping his finger in and out of Zack. Zack forces himself to relax all of his muscles. He makes a heady little noise in the back of his throat, urging Justin on.

Justin pulls it out and adds another, causing Zack’s breath to hitch. He pauses to make sure Zack’s okay, and when he’s reassured with a nod, he slowly moves in and out of Zack. Zack moves in time to Justin’s fingers as he scissors and spreads them, spreads him.

Then Justin thrusts his fingers against Zack’s sweet spot, causing him to cry out, and arch his back, and lose his composure entirely.

Zack has absolutely melted into jelly under Justin.

The sight of Zack, handsome, well-built Zack, writhing beneath him, coming apart with just his fingers, muscled arms straining as he clutches onto the bed sheets, his blonde hair mussed and spread around his head like a halo, his face flushed red, the head of his cock flushed red and leaking onto his abs— is so, so much for Justin to take in.

“Not to sound gay or anything, but you look so fucking beautiful right now,” Justin says, only partly joking, stopping his ministrations.

“I dunno, man, that’s pretty gay,” Zack says, scrunching up his nose and laughing.

“Pretty bi, more like.”

“I’m a pretty bi,” Zack jokes without skipping a beat, winking up at Justin.

“Hey, what a coincidence, so am I,” Justin grins.

“You sure as fuck are, pretty boy. Now get back to fingering me so that we can fuck.”

“So bossy,” Justin huffs half-heartedly, going back to thrusting his fingers in and out of his best friend, adding a third while he’s at it.

If Zack wasn’t squirming before, he sure as fuck is now, his hips twisting back against Justin’s hand to get him deeper, to feel more.

“Justin, Justin, I fucking need you,” Zack moans as Justin hits his prostate again and again, head tipping back onto the pillow and eyes screwing shut in pleasure.

“Zack, fuck, you look so good like this,” Justin says, spreading his fingers again before slowly pulling them out. Zack nearly whimpers.

He and Justin meet in a heated kiss, Justin slicking himself with lube before moving his dick against Zack’s ass.

“Wait,” Zack says. Justin leans back, concern evident in his expression. “Can we…” Zack pushes at Justin’s chest, sitting up, and moves to straddle Justin’s thighs and hips.

“You’re gonna ride me?” Justin says, mostly in realization.

“That’s the plan,” Zack says, as he glances down at Justin’s lubed dick, positioning his ass above it, before meeting his gaze again. “That okay with you?”

”So okay, baby.”

Zack, who blushes very easily and hasn't really stopped blushing this entire time, goes even redder at the pet name.

“Do… do you like it when I call you baby, Zack?” Justin asks, smirking.

“Fuck off,” Zack says, swatting at Justin’s shoulder and looking away.

“Dude, I don’t care. That’s kinda cute, actually,” Justin reassures, his smirk melting into a soft smile.

“Hey- don’t call me cute when I’m about to shove your dick up my ass!” Zack scoffs, laughing and meeting Justin’s eyes again.

“You don’t want me to call you cute while we fuck, but dude is fine?”

Zack rolls his eyes, and shuts them both up very, very quickly by starting to sink down on Justin’s cock.

“Oh, fuck,” Zack says. “Fuck, fuck, fuck, fuck.”

Justin’s hands wrap around Zack’s waist, while Zack’s arms cling around Justin’s neck and shoulders.

Zack is fully seated on Justin now, and he feels so stretched and full he could cry. Hell, he might.

“You good, baby?” Justin says.

“Yeah, I just need a minute, fuck,” Zack breathes.

Zack lifts himself up after a moment, using his muscled, damn thick thighs- he certainly didn’t skip leg day, no sir, and he silently thanks his past self for doing all those fucking squats- before slamming himself back down.

“Holy shit,” Justin says, his grip on Zack’s waist moving down to his hips and tightening.

They work into a rhythm, a push and pull, their skin slapping against each other as they fucked.

Zack is fucking loud during sex, a fact he failed to mention earlier. He moans and gasps and tilts his head back and cries out “Justin,” and it’s the best feeling, all of it is.

He’d forgotten how mind-blowingly good sex feels, in his months of living with Justin and surviving off of desperate masturbation alone. Holy fuck. Holy fuck.

Justin shuts his moaning mouth up with an open mouth kiss, while he slams his hips into Zack’s heat at the same time. Zack wants to fucking scream out of pleasure, and instead bites Justin’s bottom lip a little too hard.

Zack pulls away from the kiss to bury his head into the crook of Justin’s neck. He wraps his hand around his own desperately leaking cock, and pumps only a few more times before he’s coming ropes of white onto his and Justin’s torsos with a cry.

Justin fucking growls and slams up into Zack again and again, borderline abusing his sensitive prostate- “Baby, baby, fuck,” Justin keens- until Zack is clenching around him as he comes, milking Justin for all he’s worth as he spills into him.

Both of them need a minute in the afterglow of it all. Justin’s cum runs down Zack’s thigh, and if that isn’t the hottest shit ever, then what is?

“Justin,” Zack says, absolutely breathless, pulling back and looking at his boyfriend. His boyfriend, oh my God; that still hasn’t sunk in quite yet, despite the amazing sex they just had.

“Yeah, dude?”

Justin looks like he’s shining, the post-sex glow evident on his flushed cheeks and red lips. His eyes are half-lidded and his hair is, well, sex hair, all messed up from when Zack had his hands in it.

Justin is fucking gorgeous.

“Would it be weird of me to say that I love you?” Zack asks, almost timidly.

Justin looks contemplative for all of three seconds. “Nah,” he says. “‘Cause I love you too.”

Justin smiles oh-so gently, and Zack can’t help but lean back in and kiss him.