Roommates At The Night Market
childhood roommates confess buried desire at night market.
The night market bloomed under strings of red paper lanterns the way it always had, a river of steam and spice and laughter cutting through the old district. Sonia felt it in her chest the second she stepped off the curb beside Felix—twenty-eight now, both of them, still sharing a too-small apartment three cities away, still unfinished with each other. Childhood best friends. Roommates by accident and then by quiet necessity. She had not been back here with him since the summer after college when everything went quiet and careful between them.
Lantern light slid gold across Felix’s throat as he turned to her. His dark hair was longer than it used to be, curling a little at the nape; she wanted to touch it the way she had when they were kids and he let her braid it for dares. Instead she shoved her hands into the pockets of her jacket and walked.
“Smell that?” he said, voice low, almost reverent. “Same stall. Same old man burning the scallion oil.”
“I know.” Her shoulder brushed his as the crowd pressed them together. Heat licked up her arm. She pretended it was the dumpling steam. “Feels like we never left.”
But they had. Years of careful good-morning texts, of falling asleep on opposite ends of the same couch with a movie neither of them watched, of wanting so hard it made her teeth ache and never saying it. Tonight the market refused to let them pretend.
They bought sticky rice dumplings from the third stall on the left—the one with the peeling dragon painted on the side—and ate them standing under a lantern that swayed whenever the wind caught it. Sweet bean paste melted on Sonia’s tongue. Felix watched her lick a smear of sauce from the corner of her mouth and something raw flickered behind his eyes.
“You’ve got—” He reached out before he could stop himself. Thumb brushed the edge of her lower lip, slow, deliberate. The contact lasted half a second too long. Sonia’s breath snagged. She didn’t pull away. Neither did he. The pad of his thumb was warm, slightly rough from work; she felt the ghost of it even after he dropped his hand.
“Thanks,” she whispered.
They walked again, shoulder to shoulder, the crowd forcing them closer until the outer seams of their jackets kissed with every step. Neon from a candy cart painted Felix’s cheekbones pink. Sonia kept stealing looks—the way his mouth softened when he laughed at a kid chasing a paper carp, the flex of his forearm when he lifted a skewer of grilled squid out of her way so she wouldn’t bump it. Every ordinary gesture felt charged, like static before a storm.
“I used to think about this place when I couldn’t sleep,” she said suddenly, eyes on the lanterns ahead so she wouldn’t have to see his face. “About us here. You always bought two of everything even when I said I wasn’t hungry. You always knew I was lying.”
Felix’s voice came out rough. “I still know.”
They stopped near a stall selling sugar-blown animals. Heat from the charcoal braziers made the air shimmer. Sonia turned fully toward him. The confession had been building for years; tonight the market cracked it open.
“I never stopped wanting you.” The words left her in a rush, soft but absolute. “Not when we moved in together. Not when you brought girls home and I pretended the walls were thick enough. Not once. I wanted you when we were seventeen and you taught me how to drive stick in your dad’s truck. I wanted you when you held my hair back after that terrible vodka night senior year. I still want you so much it hurts to breathe sometimes.”
Felix’s eyes darkened. He set the half-eaten dumpling down on the edge of a crate like it suddenly weighed too much. His hand found hers—fingers sliding between hers, gripping hard.
“Sonia.” Her name cracked in his throat. “Fuck. I’ve been in love with you since before I knew what the word meant. Every time you walked out of the bathroom in my old shirt I had to leave the room. Every time you fell asleep on my shoulder on the train I counted the freckles on your collarbone and hated myself for not kissing them. I never stopped. I just— God, I thought if I said it I’d lose you completely.”
The confession hung between them, trembling. Around them the market roared on—vendors shouting prices, oil popping, a street musician coaxing a sad melody from an erhu—but all Sonia heard was the thud of her own pulse and the ragged sound of Felix breathing.
She stepped into him. He met her halfway. Their mouths crashed together behind the lantern-lit stall, desperate and open and years too late and exactly on time. Felix tasted like sweet rice and salt and everything she had starved for. His hands framed her face first, then slid down to her waist, hauling her flush against him so she felt the hard line of his cock through his jeans. She made a helpless sound into his mouth and pushed closer, fingers twisting in the front of his shirt, then higher into his hair the way she’d always wanted.
He kissed like a man drowning—deep, hungry, tongue stroking hers in slow filthy slides that made her thighs press together. One of his hands slipped under the hem of her jacket, palm hot against the thin cotton of her tank top, spanning the small of her back. She arched into the touch. Consent lived in every movement: the way she nipped his lower lip and then soothed it with her tongue, the way he waited half a second before sliding that hand higher, fingers tracing the edge of her bra, asking without words and receiving her breathless “yes” against his mouth.
They broke only far enough to drag air. Foreheads pressed together. Lantern light painted them gold and rose. Felix’s thumb stroked the bare strip of skin just above her waistband; Sonia shivered hard.
“Home,” she said, voice wrecked. “Now. I need you somewhere I can touch you properly. I need—”
“I know.” He kissed her again, shorter, hotter, then laced their fingers and pulled her through the thinning edge of the crowd. They didn’t speak. They didn’t need to. Every few steps one of them would squeeze the other’s hand or glance over with eyes full of the same naked hunger, and the air between them thickened until Sonia could barely walk straight.
The walk back to the old neighborhood house they were staying in for the weekend felt endless and too short at once. Felix kept her tucked against his side, arm locked around her waist, mouth brushing the shell of her ear whenever the streetlights dipped them into shadow. “I’ve pictured this a thousand times,” he murmured. “You under me. You on top of me. You coming with my name in your mouth. Tonight I’m going to make every single one real if you’ll let me.”
“I’m letting you,” she answered, fierce. “I’m taking everything. Don’t you dare hold back.”
They reached the narrow wooden gate of the childhood home their parents still kept for visits. Felix fumbled the key; Sonia crowded him against the doorframe and kissed the hinge of his jaw, open-mouthed, tasting the faint salt of his skin. His free hand gripped her hip hard enough to bruise in the best way. The lock finally gave. They stumbled inside, kicking the door shut, still tangled in each other.
In the dark entryway Felix pressed her back against the wall. His mouth found the pulse point under her ear. His thigh slid between hers and she rocked down against it without shame, wet already, aching. Hands roamed—hers shoving under his shirt to map the warm plane of his stomach, his sliding up to cup her breast through the tank top, thumb circling the tight peak of her nipple until she whimpered.
“Bedroom,” she gasped. “Or right here. I don’t care. Just don’t stop touching me.”
He groaned against her throat, the sound pure need. “Bedroom. I want to see all of you in the light. I want to remember every second.”
They half-walked, half-stumbled down the short hall, shedding jackets, shoes, the last of their careful distance. The door to the old guest room—Sonia’s childhood room, the one with the faded star stickers still on the ceiling—swung open under Felix’s palm. Moonlight spilled across the narrow bed. He turned her in his arms, kissed her like he was claiming years of silence all at once, and guided her backward until the backs of her knees hit the mattress.
They fell together, mouths fused, hands everywhere, the night market lanterns still glowing behind Sonia’s closed eyelids and the taste of sticky rice still sweet on both their tongues. Years of buried desire cracked wide open in the dark, and neither of them had any intention of closing it again.
They didn’t stay on the narrow childhood bed. The need was too big, too restless. Felix dragged his mouth from Sonia’s and hauled them both upright, still kissing, still stripping each other in clumsy, urgent tugs. Her tank top hit the floor; his shirt followed. Bare chest to bare chest, they stumbled back down the short hall into the small living room where the old couch sagged under decades of shared movie nights. Moonlight through the front window silvered everything.
Felix sat hard, pulling her down with him so she straddled his lap. The denim of his open jeans scraped her bare thighs; she was already soaked through the thin cotton of her underwear. She rocked once, feeling the thick ridge of his cock strain against the fabric, and a broken sound tore out of both of them.
“Look at me,” he whispered.
She did. Eyes locked, she shoved the last of his jeans and boxers down. His cock sprang free, heavy and flushed, the head already gleaming. Sonia rose on her knees just long enough to drag her panties aside, then sank onto him in one slow, deliberate slide. The stretch burned sweet; she felt every inch of him claiming her from the inside while his hands braced her hips and his gaze never left hers.
“Fuck—Sonia—” His voice cracked. “I’ve loved you so long it feels like the only true thing I know.”
She bottomed out, thighs trembling, and began to move. Rolling her hips, rising and dropping in a deep, grinding rhythm that made the old couch creak. Every downward stroke dragged her clit against the base of him. She kept her palms flat on his chest, feeling his heart hammer under her fingers, and whispered back while she rode.
“I love you. I loved you when I hated how much it hurt. I love the way you look at me like I’m the only light left.” Her breath hitched as she clenched around him. “Don’t close your eyes. Stay with me.”
Felix’s hands slid up her back, then down to grip her ass, helping her grind harder. Sweat slicked the place where their stomachs met. He thrust up to meet her, shallow and fierce, never breaking the eye contact that made the pleasure almost unbearable. Confessions spilled between wet, open-mouthed kisses—how many nights he’d jacked off thinking of her mouth, how many mornings she’d pressed her face into her pillow and come silently to the memory of his hands. Each word tightened the coil low in her belly.
When she started to shake, he stood in one powerful motion, still buried inside her. She locked her legs around his waist. He carried her the few steps into the narrow kitchen, set her on her feet only long enough to spin her and bend her forward over the cool counter. The linoleum edge pressed into her hip bones. She arched, presenting, and he slid back into her from behind in one deep thrust that punched a cry from her throat.
“Yes—harder—” she gasped, pushing back to meet every stroke.
Felix’s hands bracketed her waist. He fucked her in long, punishing drives that filled the kitchen with the wet slap of skin and the broken sounds of their breathing. One palm slid around to rub tight circles over her clit; the other braced beside her head so he could lean down and speak against her ear.
“You’re mine now. Say it.”
“Yours. Always was.” She shoved back harder, taking him deeper, the angle hitting that perfect spot that made lights burst behind her eyes. “Don’t stop. God, Felix, don’t ever stop.”
He didn’t. He pounded into her until her legs trembled and the counter creaked, until she was dripping down her own thighs and begging in broken fragments of his name. When he felt her start to flutter around him he pulled free with a growl, spun her again, and carried her the last few steps to the guest-room bed they had abandoned earlier.
Moonlight still striped the mattress. He laid her down carefully, almost reverently, then settled between her spread thighs. Sonia reached up, caught his wrists, and guided them above her head, pressing them into the pillow.
“Pin me,” she said, voice raw with need and trust. “Hold me down. I want to feel how much you want this—want me—while you fuck me.”
His eyes went dark with love and lust tangled together. He laced their fingers and pinned her wrists firmly to the mattress, weight balanced on his forearms so he could still look straight into her face. Then he pushed back inside in one smooth, claiming thrust.
They moved together like they had been practicing this forever in secret. Slow at first—deep rolls of his hips that let her feel every ridge and pulse—then faster, harder, the bedframe knocking the wall in steady rhythm. Sonia wrapped her legs high around his back, heels digging into him, pulling him deeper. Sweat slicked their stomachs. Every time he bottomed out she clenched deliberately, milking him, and he groaned her name like a prayer.
“I love you,” he said again, forehead nearly touching hers, eyes wide open. “Coming home was always you. Always.”
“I love you,” she answered, the words broken by the force of his thrusts. “Don’t look away. Come with me. Please—”
The orgasm hit them like a shared wave. Sonia’s back arched hard; her wrists flexed uselessly under his grip as pleasure ripped through her in long, shaking pulses. Felix buried himself to the hilt and followed, cock jerking as he spilled deep inside her, still staring into her eyes the whole time so she saw the exact second love and release wrecked him. They stayed locked like that—bodies shaking, breaths ragged, gazes fused—while the aftershocks rolled through.
Even after he finally eased his weight to the side, he kept one of her wrists pinned gently, thumb stroking her pulse. Their free hands mapped sweat-damp skin, relearning every freckle and scar by touch. Outside, the night market lanterns still glowed faintly over the distant rooftops. Inside, the air smelled of sex and the sugar still lingering on their tongues.
Sonia turned her face into his throat and spoke against the frantic beat of his heart. “We’re not done. Not even close. There’s twenty years of this I still need to feel.”
Felix’s laugh was low, wrecked, full of promise. He rolled her beneath him again already half-hard, mouth finding the sensitive spot under her ear.
“Good,” he murmured. “Because I’m nowhere near finished loving you tonight.”
Felix’s mouth dragged hot and open down the side of Sonia’s throat while his cock, already thickening again inside the slick mess of their first climax, nudged deeper. She opened for him on a trembling exhale, knees falling wide, hands sliding into the longer hair at his nape the way she had wanted to do under the lanterns. Every inch of him felt like coming home and like drowning at the same time. He rolled his hips in a slow, grinding circle that pressed his pelvis tight to her clit and forced a broken moan out of her.
“Still with me?” he asked against her skin, voice raw.
“Always.” She locked her ankles at the small of his back and pulled. “I need it slower this time. I need to feel every year we wasted.”
He gave it to her. Long, deep strokes that dragged the flared head over the spot inside her that made stars burst behind her eyelids. Moonlight silvered the sweat on his shoulders; she licked a stripe up the tendon of his neck and tasted salt and the faint ghost of scallion oil still clinging to him from the market. His free hand cupped her breast, thumb stroking the tight nipple in the same deliberate rhythm as his thrusts until she was arching, whimpering, begging without words.
“I used to lie in this exact bed,” she gasped, “and touch myself thinking about your mouth. About you pinning me just like this.”
Felix’s laugh was dark, wrecked. He shifted his weight, pinned both her wrists above her head again with one hand, and reached down between them with the other. Two fingers found her swollen clit and rubbed tight, perfect circles while he fucked her in those endless, grinding slides.
“Show me,” he ordered softly. “Come on my cock the way you used to come on your fingers thinking about me. Let me feel it.”
The coil snapped. Sonia’s whole body bowed; her cunt clamped down in hard, rhythmic pulses that milked him. She cried his name into his mouth when he kissed her through it, swallowing every shattered sound. He held still inside her, buried to the root, riding out the clench until she sagged boneless beneath him. Only then did he start moving again—faster now, chasing his own edge with short, brutal thrusts that slapped wetly against her.
“Look at me when I fill you,” he growled.
She forced her eyes open. The love in his face was almost too much; it cracked something open in her chest that the orgasm hadn’t touched. He came with a guttural groan, cock kicking hard as he poured another thick pulse of heat deep inside her, never looking away. They stayed locked, shaking, foreheads pressed together, breathing the same air until the aftershocks faded into lazy twitches.
Felix eased out carefully, both of them hissing at the oversensitive drag. He rolled onto his back and pulled her half across his chest so her cheek rested over his hammering heart. One big hand stroked down the damp length of her spine; the other cradled the back of her head. He pressed a soft, lingering kiss to her temple, then another, and another, like he couldn’t stop.
“Stay,” he whispered into her hair. “Not just tonight. Not just this weekend. Be mine forever, Sonia. Marry me. Turn the roommate bullshit into an engagement, a real life, everything we were too scared to grab before. I’ve loved you too long to waste another second pretending.”
Tears slipped free before she could stop them—hot, relieved, years of silence finally breaking. She lifted her head just enough to meet his eyes. “Yes. God, yes. I’ve been yours since we were kids sharing Popsicles on the stoop. Make it official. I want the ring and the name and waking up next to you every single morning until we’re old and still disgusting.”
He laughed, wet-eyed himself, and kissed the tears from her cheeks. “Tomorrow we tell everyone. Tonight we just… breathe.”
They settled deeper into the narrow mattress, limbs tangled, her thigh thrown over his hip, his arm locked around her waist like he was afraid she might disappear. The sheets smelled of sex and childhood detergent. Outside, the last lanterns of the night market swayed over distant rooftops. Sonia’s fingers traced idle circles on his chest while sleep tugged at the edges of her mind. Felix’s breathing slowed against her temple. The promise of a shared future—keys on the same ring, a bigger apartment that was truly theirs, mornings that started with his mouth between her legs—settled warm and certain in her bones. She let her eyes drift shut, body liquid and claimed, heart finally quiet.
A sharp, deliberate knock shattered the quiet—three hard raps against the front door of the childhood house, followed by the unmistakable rattle of a key sliding into the lock.
Rate this story
Popular Collections
Browse Categories