Chapter Text
Suguru Geto stood outside Satoru Gojo’s apartment, hands in the pockets of his dark hoodie, scowling like a man about to commit a crime—which, in all fairness, he was.
It was the kind of night when everything felt too quiet. Tokyo hummed below the skyline, but up here—on the tenth floor of a private sorcerer complex—you could almost forget the world existed. Just Suguru, a petty vendetta, and Satoru Gojo’s annoyingly luxurious apartment.
The elevator glided to a stop soundlessly, its usual soft beep announcing the floor arrival, and Suguru slipped out, hoodie up, expression unreadable. His phone buzzed once in his pocket—probably Nanami, asking why he’d disappeared mid-dinner. Suguru ignored it. He had a mission.
Not a real one, no. Not one involving cursed spirits or a world-ending catastrophe. This one was personal. Artifact retrieval.
The artifact in question? A small obsidian ring with silver etching—nothing extraordinary at first glance, but saturated with an odd, lingering cursed signature that made it cold to the touch even after hours against skin. Shoko had found it during a cleanup job in Okinawa. She’d waved it off, tossing it on a tray like junk. Satoru, ever the magpie, had pocketed it with a grin, and Suguru had stolen it that same night.
It had gone on from there. Back and forth, month after month. A joke, certainly. But more than that, it was a challenge neither of them would give up, a trophy of their rivalry—a symbol of their endless competition and one-upmanship. Suguru had lifted it from Satoru’s training bag. Satoru had hidden it in his shampoo bottle. Suguru found it under a loose floorboard. Now Satoru had it again, that bastard, and Suguru wasn’t about to let that stand.
The door was unlocked—Satoru probably never locked it unless he was out of town—and the apartment was dark except for the low orange glow of a lamp in the far corner of the living room. Suguru slipped inside soundlessly, every step practiced and soft. Typical. His friend was too cocky to expect a real intrusion.
The bedroom was open. Satoru’s scent hit him first: a strange, clean mix of linen, expensive cologne, and something unmistakably him. Suguru felt the faintest flicker of awareness crawl over his neck. He rolled his eyes at himself and padded inside, careful not to disturb anything. The ring wouldn’t be out in the open—Satoru never made it easy. Suguru crouched by the nightstand, quietly rifling through a drawer.
Nothing. Just condoms (unsurprising), loose change, a half-eaten lollipop (disturbing), and a blindfold crisply folded in the corner. Suguru wrinkled his nose. He crossed to the dresser, slid open the top drawer—just boxers and socks. Next one down? Loose shirts. Then pants. The ring had to be here somewhere. Suguru crouched low, lifting the stacks of clothes, pulling at the edge of a pillow. Nothing. He crossed the room, opened a cabinet—still nothing.
He was halfway through checking under the bed when he heard the front door click. His stomach dropped. Shit.
Footsteps. Getting closer.
Suguru stood up too fast, hitting his knee on the bed frame and hissing under his breath. No time to find a way out. He yanked open the nearest door—a large wardrobe—and ducked inside. Clothes brushed his shoulders. He closed the door gently. The wood had horizontal slats, letting him see out into the room.
Satoru walked in, tossing his keys somewhere, looking like he owned the place (which, okay, he did). His shirt was loose, sweatpants hanging low on his hips. He stretched once and sat on the bed, scrolling through his phone. Suguru pressed himself flat against the inside of the closet, heart hammering, trying to steady his breath.
Buzz. Suguru pulled out his phone. A message lit up the screen.
[Satoru 🕶️, 9:54 p.m. ]:
hey did u file the paperwork for that Kyoto exorcism yet
Suguru blinked. Really? He was crouched in a closet like an idiot, and Satoru wanted to talk about paperwork? Well—okay so Satoru didn’t know he was in the closet, but whatever. He thumbed out a reply:
[Suguru, 9:54 p.m. ]:
yeah. turned it in this afternoon. why?
The dots popped up instantly.
[Satoru 🕶️, 9:55 p.m. ]:
wow geto being responsible. love to see it
[Satoru 🕶️, 9:55 p.m. ]:
i owe shoko 500 yen
Suguru snorted softly. Typical.
[Suguru, 9:55 p.m. ]:
don’t make bets about me. and don’t bet with shoko, you’ll never win
[Satoru 🕶️, 9:56 p.m. ]:
smh betrayal from my best friend
[Satoru 🕶️, 9:56 p.m. ]:
noted.
A pause. Another message.
[Satoru 🕶️, 9:57 p.m. ]:
btw
[Satoru 🕶️, 9:57 p.m. ]:
u didn’t take the ring again right?
Suguru froze. His thumbs hovered. Then:
[Suguru, 9:58 p.m. ]:
depends. where’d you leave it this time?
[Satoru 🕶️, 9:58 p.m. ]:
wouldn’t u like to know 😏
[Satoru 🕶️, 9:59 p.m. ]:
not anywhere u would find it tho that’s for sure. def not in my hoodie pockets, worst hiding spot ever
Suguru smirked despite himself, crouched between Satoru’s shirts.
[Suguru, 10:01 p.m. ]:
better hiding spot than a shampoo bottle. still can’t believe u thought that would work
[Satoru 🕶️, 10:01 p.m. ]:
it did work
[Satoru 🕶️, 10:01 p.m. ]:
for like two days
[Satoru 🕶️, 10:02 p.m. ]:
…a new record
Suguru shook his head, lips twitching. For a second, it almost felt normal. Like he wasn’t hiding three feet away, watching Satoru creepily from his closet. He slid his phone back into his pocket, deciding not to risk answering again. Now all that was left to do was wait until Satoru fell asleep.
On the bed, the sorcerer shifted, scrolling through his phone. The glow of the screen lit his face in pale blue. For a minute it was quiet except for the faint clicks of him tapping, swiping. Suguru forced himself to stare at his knees, willing time to move faster.
But then Satoru’s breathing changed. Not much—and it was barely noticeable, if Suguru weren’t, well, Suguru. He always noticed everything about Satoru. The sounds just got heavier, a little slower. The creak of him adjusting on the bed, sighing under his breath. Suguru frowned, confused, and glanced up through the slats.
Satoru had turned onto his side, propped up on one elbow. His other hand held the phone close, his eyes locked on the screen. Suguru squinted but couldn’t make it out—definitely not a video, the way the image stayed still. A picture. Of what? Or… of who? Suguru’s chest tightened, palms sweating. He looked away, pressed his forehead against the closet wall. But then came the sound—the soft, unmistakable sound of skin sliding against skin.
Suguru froze.
The shift of fabric. A dry rubbing noise. The quiet, stuttered pant that left Satoru’s mouth. Suguru’s eyes went wide. His pulse jumped into his throat.
He’s—no way. He’s actually—Are you kidding me?
He pressed his hands flat against his thighs, trying to ground himself. This wasn’t happening. This couldn’t be happening. And then Satoru moaned, low and drawn out, rougher than Suguru had ever heard his voice sound.
“...Su-gu-ru…” Suguru’s whole body went hot. His brain emptied.
Oh fuck.
Suguru pressed his palms into his thighs until his nails dug through the fabric of his jeans. His breathing was too shallow, his chest too tight. He wanted to shut his ears, to pretend he didn’t hear it, but every pant, every soft grunt slid straight down his spine.
Oh fucking fuck.
There was no possible way that he heard that right. There was no way his best friend—his stupid, annoying, smug best friend—had just moaned his name while jerking off. He was just hallucinating, high off of… off of something, he was sure. He could figure out what it was later, once he figured out how the hell he was going to get out of here.
Satoru’s hand was moving steadily now, slick and obscene in the quiet room. His body shifted with each stroke, chest rising and falling, sweat already shining faintly at his collarbone. His phone was still in his hand, the glow of the screen lighting his face as he stared at that damn picture. His expression—Suguru had never seen him like that. Mouth open, eyes half-lidded, totally gone. Look away. Oh god why was he even looking in the first place?!
His eyes slid downward, squeezing them shut for a moment. Maybe if he couldn’t see, it would stop. Maybe if he couldn’t see, he could breathe again. It didn’t work. Surprise, surprise.
Satoru’s hand sped up a little, wrist twisting. His hips lifted off the bed. A small noise escaped his throat, more desperate now. Suguru pressed a hand against his forehead. His breathing was shallow. Every nerve in his body felt wired. He wasn’t supposed to like this. He wasn’t supposed to be thinking about how Satoru looked right now—flushed, hair sticking up, muscles flexing with each stroke. He wasn’t supposed to wonder what it would be like to be under that gaze.
And yet, the thought slid in anyway. Why does he look so… good?
Get a grip. Suguru stared at his knees. Counted his breaths. Suguru is straight. He's definitely dated girls and they're… whatever, but he just doesn't really like to date anyways, that's all. Dating was annoying and difficult—especially once the girl he’s dating starts to get jealous of how much time Suguru spends with Satoru. They always get so insecure about it, and that gets old fast. He's just not all that interested in dating. Or sex in general, really. Though kissing was definitely enjoyable... And he’d dryhumped the hell out of that tall, skinny girl in Kyoto with the tight jeans and the lip ring, and that definitely felt good. That had to count for something.
But his gaze kept drifting back to the bed.
The sounds only got worse, louder. Satoru was panting softly, gasping, voice breaking on a moan like he couldn’t hold it back. Suguru gritted his teeth. Satoru shifted again on the bed, sweatpants shoved lower now, cock still in his hand. The muscles in his stomach flexed each time he stroked. His head was tipped back, white hair falling in his face, mouth open. He looked wrecked. Suguru’s hands were fists against his thighs. His nails dug into his palms.
Every nerve in his body screamed look away, look the FUCK away!! But through the slats he caught flashes: Satoru’s thumb rubbing slow circles over the head, the small hitch of his hips, the soft sound of his breath. He was watching something private that he shouldn’t even know existed. Suguru held his breath as Satoru reached for the nightstand.
He pulled out a small bottle of lube, popped it open with one hand, slicked his fingers. He didn’t even hesitate. One hand still on his phone, the other sliding lower between his thighs—his middle finger pressed in slowly. He groaned, long and low. Suguru’s eyes went wide.
Oh. My fucking. God.
This isn’t happening. This shouldn’t be happening. He should be turning around, covering his eyes, doing literally anything else. But he couldn’t. He had to fight the urge to back up, but there was nowhere to go. The closet was too small. All he could do was sit there, palms sweating, pulse hammering, eyes glued to the cracks between the slats.
He needed to get out.
He needed to get out.
Satoru was working his fingers slowly into his ass now, long fingers disappearing and reappearing, slick noises filling the room. His hips rolled against his own touch. He muttered something again, rougher this time, almost a whine. Suguru’s whole body jerked like he’d been shocked. His breath came fast and shallow, his cock hard against his zipper, pulsing. Suguru pressed his palms harder into his thighs. Don’t. Don’t move. Don’t do it.
Satoru moaned again, fingers pushing deeper. His back arched off the bed, sweat shining on his skin. His cock twitched, leaking across the sheets.
He told himself it was just adrenaline. Just the stress of being caught. Just the stupid situation, nothing else, but his body wasn’t listening. The smell of Satoru’s cologne and lube and sex was thick in the air. His head felt fuzzy. He wanted to touch himself so bad it made his teeth ache. Just a little pressure. Just enough to take the edge off. His whole body trembled, hand drifting up a little, then snapping back to his thigh like he’d burned himself.
No. No way. That’s Satoru. That’s your best friend. This is the dumbest, most messed up thing you’ve ever done.
He pressed his forehead to the closet door, eyes shut tight. His cock throbbed against the inside of his pants. He could hear Satoru’s slick fingers, his soft swearing, his breath. It was so wrong, this was so, so wrong. Then his hand just... moved. A slow drag of his palm over the front of his jeans. Not enough to feel good. Just enough to feel something. A gentle press against the hard line of his cock, and then again, just to relieve the tension. Just enough to stop his brain from short-circuiting. His other hand gripped the closet wall like an anchor. He was barely breathing.
From the bed, Satoru’s moans grew higher pitched. The wet sounds of slick fingers and lube filled the room, his hips rolling against his own hand. His breath came in shallow pants, teeth catching his bottom lip. Then his voice broke again, moaning louder this time. Suguru’s whole body shuddered. His palm pressed harder against his jeans, cock aching under the fabric. Don’t listen. Don’t move. Don’t—
The sounds kept coming. Satoru groaning, muttering, panting like he was on the edge. And then Satoru’s hand with the phone shifted. He pressed it against his forehead for a moment, eyes squeezed shut, moaning again into the quiet.
“...su…”
Suguru bit down on his lip until it hurt. His cock throbbed through his pants, against his palm. When Satoru let his arm fall back onto the pillow, the phone tilted—and through the slats, Suguru saw the screen. His breath caught. It wasn’t porn. It wasn’t some random nude.
It was him.
An image from their kendo dojo, maybe a spar someone had snapped. Suguru shirtless, hair tied back, chest slick with sweat. His eyes narrowed in focus at some opponent cropped out of frame. And Satoru had zoomed in—not on the fight, not on whatever technique they’d been practicing that day—but right on Suguru’s abs, his chest, the line of his throat, his face caught mid-concentration.
Suguru’s stomach flipped. His blood roared in his ears. He—he’s jerking off to me. To a picture of me.
Satoru groaned again, louder, hips jerking, thrusting into himself faster as his eyes locked on that picture. Suguru couldn’t look away. His whole body shook, caught between horror and heat, denial and the unbearable urge to touch himself properly.
Slowly, hesitantly, Suguru let his hand press harder against his jeans, cock still straining against the zipper, his breath ragged against the closet door. His head tipped back against the closet wall, lips parting on a silent groan. Even through the fabric, even with barely any touch, it was too much. His cock jerked against his palm, hungry for more.
This is wrong. This is the worst possible thing you’ve ever done.
And yet he kept going. Slow circles of his palm against himself, his other hand gripping the wall like it could hold him together. Eyes screwed shut, jaw tight, trying to block out the image even as the sounds slipped in deeper and deeper. A sharp gasp from Satoru had him opening his eyes again, his body thinking—with the wrong damn head—that he couldn’t bear to miss even a second of this.
The moans got higher, desperate. Satoru’s hand blurred between his legs, his chest heaving. He whispered slurred words, the only thing Suguru could make out clearly was a whining “oh god,” and “please please I’m begging you please—”
And then, with a guttural cry, Satoru came—cock twitching against the bed, cum streaking across his stomach and the sheets, his whole body tensing and shuddering. The phone slid a little on the pillow, but the image stayed—Suguru, shirtless, sweaty, zoomed-in. Suguru’s eyes squeezed shut. He couldn’t bear to see it anymore, but the sound of Satoru gasping his name, the image burned into his brain, wouldn’t leave. The wet sounds turned sloppy, uneven, and then there was silence, just the sound of his gasps.
Suguru’s cock throbbed in his pants, aching with the urge to follow Satoru’s lead, but he didn’t let himself move. He sat there, palm still pressed to his jeans, every muscle tight, sweat running down his back. Satoru shifted on the bed, exhaling hard. A few rustles, the sound of a tissue tearing free. Then footsteps across the room. The door clicked shut. A moment later, the shower turned on. Satoru’s humming drifted through the thin walls, casual, like nothing had happened.
Suguru stayed frozen in the dark, heart still racing. His hand dropped from his lap, trembling. He felt dizzy, like his body wasn’t his own. After minutes that stretched too long, he finally eased the closet door open. The room was empty, but the air still smelled faintly of sex and lube. His stomach twisted. He slipped out silently, shoes soft on the floor, and crept toward the door. As he stepped into the hall, the shower was still running. Satoru’s humming carried faintly, off-key, stupid as always. Suguru left without a sound, disappearing into the night.
