When I first moved into the city for grad school, one of my biggest concerns was finding an affordable apartment. Craigslist ads felt like a minefield, shady landlords and even sketchier potential roommates everywhere. When I finally landed a place with Sophie, it was almost by accident. Her ad just said, “Immediate roommate wanted, no psychos, non-smoker, cat-friendly.” I was all three, plus a broke student. We messaged a bit, FaceTimed over flaky Wi-Fi, and by the following weekend I was moving my stuff into her sunny, two-bedroom walk-up.
Sophie was… well, stunning. Curly brown hair, bright green eyes, a cheeky little smile that made you feel like you’d just missed the punchline. She worked as a graphic designer from home most days in baggy sweats and wore wireframe glasses that fell down her nose when she was deep into a project. From the moment I dragged my boxes in, she treated me like I was an old friend instead of a complete stranger. She said things like, “Hey, put your shit wherever, you’re not a guest!” and handed me a cold beer.
The thing is, I noticed her right away. Not in a ‘love at first sight’ way—more like a sharp, hot awareness of her body and her laugh, the little flutter in my stomach whenever she stretched and the hem of her T-shirt rode up, showing a sliver of skin. But I had a strict ‘no sleeping with roommates’ rule. I wanted a drama-free living situation, and it seemed like Sophie did, too.
Over the next two months, we fell into a ridiculously comfortable rhythm. Our apartment became a cocoon of late-night pizzas, shared playlists, cringey Netflix binges, and sarcastic banter. Sometimes we’d stay up until 3 a.m., talking about everything and nothing, sprawled on the couch in ratty pajamas. Sometimes there’d be a weird vibe between us, soft looks lingering just a little too long, knees almost touching. I’d tell myself I was imagining it.
But then things started to shift in a way I couldn’t ignore.
It was a Friday night in March, pouring rain, and Sophie’s friends had canceled on coming over for drinks. She shrugged, sent a few texts, and announced, “Looks like it’s just us tonight!” with a smile that was both innocent and mischievous. We ordered Thai, split a bottle of wine, and settled into our usual corner of the couch. I was maybe a little too aware of how close her thigh was to mine in the warm tangle of blankets.
At some point—it was late, the rain tapping against the fire escape—she grabbed my phone and started swiping through my Tinder matches, making running commentary. “Oh, this one’s got a fish. Red flag,” or “Ooh, cute smile! Why didn’t you message her back?”
“None of these girls are as cute as my roommate,” I blurted, trying to play it off with a laugh, but my cheeks burned. Immediately I regretted saying anything. If she was weirded out, she didn’t show it. She just grinned, searching my face for a second.
“Be careful, Evan,” she murmured, softer than her usual banter. “Flattery will get you in trouble.”
It hung there, heavier than it should have. We locked eyes. I swear my heart was pounding in my chest so loud the neighbors could hear it.
This new current between us buzzed all week. She’d stand at the kitchen counter in her sleep shirt, brushing her teeth in slow, lazy circles, and it took all my effort not to stare at the way the fabric clung to her hips. I’d catch her glancing at me when she thought I wasn’t looking. There were moments—long, charged silences—where it felt like everything was about to snap. But I kept stopping myself. I kept thinking about the mess, the possibility of jealousy or tension, how much I didn’t want to screw up the best living situation I’d ever had.
Then came the night it all changed.
It was past midnight, and I was tossing and turning, mind racing. I heard her bedroom door creak and soft footsteps, then a light knock on mine. I flipped on my bedside lamp, suddenly self-conscious in my boxers and T-shirt. Sophie poked her head in.
“Hey, you awake?” she whispered, a little nervous.
“Uh, yeah, come in.”
She curled up at the end of my bed, hugging her knees to her chest. Up close, I could smell her shampoo, sweet and citrusy. “I couldn’t sleep,” she said, eyes flickering away, her voice barely above a whisper. “My brain won’t turn off.”
“Want to talk about it?”
She shook her head, lips twisting into a half-smile. “Not really. Just… can I just stay here a minute? It feels less lonely, I guess.”
I nodded, trying not to overthink it. She slid under the covers beside me, her body radiating heat and softness. Our arms brushed. Everything in me was tight, tense, but I stayed still. She let out a slow breath.
After a couple of minutes, she propped herself up on her elbow, looking at me. “Evan,” she said, subtle tremor in her voice. “Does this feel weird to you?”
“Yeah,” I admitted, unable to hide my shaky exhale. “But in a good way.”
She reached over, her hand landing lightly on my chest. My heart skipped a beat. I should have stopped her. I wanted to be the responsible roommate, the one with boundaries. But when her lips brushed mine, all my resolve snapped.
Our first kiss was soft, hesitant, like both of us were testing the waters. When she realized I wasn’t pulling away, she deepened it, her fingers curling at the nape of my neck. The blankets kicked off, she slid closer, draping her leg over mine. Suddenly my hands were in her hair, pulling her against me.
“You have no idea how long I’ve wanted to do this,” she whispered, voice a little breathless, lips ghosting over my jaw.
“Same,” I growled, letting my hand slip under her shirt, tracing the bare skin of her back, feeling her shiver into my touch.
She shifted on top of me, straddling my waist, her shirt riding up as she ground her hips into mine. My cock strained against my boxers, her heat above me making patience impossible. She bent down, kissing me hard this time, her tongue sliding against mine, wet and hungry.
“You sure you want to do this?” I managed, the last scrap of willpower. “I don’t want to fuck things up.”
She laughed, low and throaty, green eyes sparkling. “If you stop now, I’ll kill you.”
That was all I needed.
I slid my hands up her thighs, gripping her ass, rolling my hips up to meet her as she rocked against me. She tugged her shirt off, breasts bare and perfect, nipples hard in the lamp light. I kissed my way down her neck, nipping gently at her collarbone, down to her chest. She moaned, fingers digging into my shoulders.
She reached into my boxers, wrapping her hand around my cock, stroking up and down, slow, teasing. I groaned, biting down a curse as she pressed a kiss to my ear. “God, you feel so fucking good,” she murmured, grinding against me until I thought I’d lose my mind.
I rolled us over, pinning her beneath me, kissing her deeper, needing to feel all of her. She gasped as I slid down her body, slipping my fingers under the elastic of her panties, finding her wet and ready. I looked up for any sign of hesitation, but she just arched her hips, desperate.
“Please, Evan,” she begged, voice raw. “Don’t tease me.”
I hooked my fingers under her panties, sliding them off, kissing my way down, tasting her sweetness. She bucked against my mouth, moaning my name, hand tangled in my hair. When she came, it was with a shudder that made my dick twitch painfully.
I moved up her body, lining myself up, pausing. “Last chance,” I whispered, needing her to say it.
She grinned, pulling me down for a kiss. “Just fuck me already.”
I pushed inside slowly, savoring the way she clenched around me, reveling in the heat and tightness. We moved together, hands roaming, mouths tangled, a tangle of hungry, desperate need. Every thrust, every moan drove me closer until we crashed over the edge together, falling apart in the tangle of sheets.
After, we lay there in the semi-dark, sweaty and grinning. Sophie traced lazy circles on my chest.
“So, is this going to make breakfast super weird tomorrow?” she teased.
I laughed, kissing her forehead. “Only if you make it awkward. Otherwise, let’s do it again before pancakes.”
She smacked my shoulder, rolling over on top of me, and I realized maybe, just maybe, breaking my no-roommates rule was the best mistake I’d ever made.