
The bus was a pressure cooker by 7:20 a.m., every stop adding more bodies until personal space was just a memory. I was pinned behind her, briefcase jammed between my shins, one hand death-gripping the overhead rail. She stood facing forward, left hand on the vertical pole. The brown daster—thin, worn cotton, the kind you throw on for wet-market runs.
First contact was the usual brake lurch. My hips met her ass. Soft. Yielding. The kind of cushion that makes your brain short-circuit for half a second. She didn’t stiffen. Didn’t shift forward.
The next sharp turn pressed me flush against her again. This time I felt the outline clearly: full, heavy cheeks, the deep natural cleft between them. My cock twitched hard inside my slacks, already thickening against the restraint of fabric. Still no recoil.
Then—slow, almost casual—she leaned back. Not much. Just enough to settle the full weight of her ass against my groin. A deliberate invitation disguised as a sway with the bus. My right hand moved on instinct: Grope her.
I started low, palm flat against the outside curve of her right cheek. The cotton was damp, warm, slightly rough from too many washes. I squeezed once—gentle, testing. Her glutes flexed under my fingers, then relaxed again. Message received.

I started low, palm flat against the outside curve of her right cheek. The cotton was damp, warm, slightly rough from too many washes. I squeezed once—gentle, testing. Her glutes flexed under my fingers, then relaxed again. Message received.
Emboldened, I let my fingers slide upward, gathering the hem of the daster as I went. The fabric was light; it bunched easily. Inch by inch I pulled it higher, exposing the backs of her thighs—smooth, lightly glistening with morning sweat. Higher still until my knuckles brushed elastic.
White panties. Simple cotton bikini style, nothing fancy. The waistband sat low on her hips, the leg holes cutting across the plump underside of her ass. A small wet patch had already darkened the centre seam. Fuck.
My fingertips traced the edge of the elastic, then slipped beneath it. Skin on skin. Hot. Sticky. I cupped one entire cheek, kneading the soft flesh while my thumb followed the crease downward. She pushed back harder now—small, rhythmic rocks of her hips that dragged my fingers closer to the heat between her legs.
I could feel the damp cotton clinging to her lips, the slight puffiness beneath the fabric. My middle finger pressed along the centre seam, feeling the swollen outline of her slit through the thin material. She exhaled sharply through her nose—once, twice—trying to keep it quiet.
My cock was painfully hard, leaking steadily into my boxers. I shifted my hips, trying to angle myself so the ridge of my shaft could nestle right into her crack. The moment I started to press forward—The bus hissed and slowed for the big interchange.
She straightened instantly.
My hand slipped out from under the daster as if electrocuted. The fabric fell back down, covering her again like nothing had happened. She smoothed it once with her free hand—casual, practiced—then adjusted the shopping bag on her arm.
Doors opened.
Without a single glance—not at me, not at anyone—she stepped off into the crowd. Ponytail swaying, blue bag swinging, just another aunty disappearing into the morning rush. I stood there clutching the pole, heart hammering, right hand still warm and faintly scented with her skin and arousal. My slacks were tight, the front of my boxers soaked through, a dark wet spot starting to show. I never got to press myself fully against her.
And somehow that made it worse.
I rode the rest of the way to the office with my palm pressed discreetly against my crotch, trying to hide the evidence, replaying every second of those stolen minutes in my head. The feel of white cotton under my fingers. The way she’d clenched around nothing when I traced her seam. The almost-sound she’d made.
By the time I reached my desk, I was still half-hard and my hand still carried her warmth. I didn’t wash it off until lunchtime.