Work Text:
"What's the matter with you?" Dinesh asked, as he entered the kitchen to see Gilfoyle sitting at the kitchen table, hunched over so that his forehead pressed against the worn wood. His arms hung at his sides, a coffee cup and his glasses left on the table on either side of his head.
"Headache."
"Still? You were complaining about that last night."
"Yes." Gilfoyle said quietly.
"Did you take anything for it?"
"No, Dinesh, I ignored all of the easily-accessible advances of modern medicine in favor of voluntary prolonged agony." Gilfoyle spoke into the table. He paused, then let out a sigh, deflating slightly. "Yes, I took something. I’m out of weed, so I took Advil, which did nothing. I tried sleeping, which did nothing. So now I'm drinking coffee because caffeine is supposed to help. It’s not helping."
"It's probably a tension headache from hunching over your desk like a gremlin until 1 AM. I swear I didn't see you move for like 6 hours, and you're always sitting in stupid positions. That's not good for your body, you know." Dinesh wasn't totally sure if he was trying to offer advice or trying to make fun of Gilfoyle.
Gilfoyle's groaned "Fuck. You." was muffled by the tabletop, but the finger he raised came through loud and clear.
Dinesh moved around the kitchen, getting out his mug and pouring himself a cup from the still warm coffee pot. He was pretty sure they were alone in the house, he remembered Jared and Richard had some HR training seminar this weekend which sounded stupid and boring and he was glad he got to stay behind and just code and play video games.
Dinesh leaned back against the counter, watching as Gilfoyle slowly picked his head up, eyes squinted shut, and pinched the bridge of his nose. His silver ring glinted in the late morning light. He looked soft around the edges; gym shorts and a grey t-shirt, his hair a little mussed, bare feet touching the tile on the floor.
"Uhmm...so..." Dinesh blurted out, realizing that he was staring, "this might sound totally weird, but I had a girlfriend--"
"You're right, that does sound weird." Gilfoyle deadpanned.
"Shut the fuck up, dude--I had a girlfriend in college who was getting certified in massage therapy and…” He trailed off, not totally sure how this would land and not wanting to make a fool of himself in front of the coolest person he knew. “I might be able to help with your head?" His voice tilted up at the end awkwardly.
Gilfoyle scoffed, but he was still muffled by the table so it wasn’t super convincing. "How would your imaginary girlfriend from the past be able to help me?"
"Not imaginary. Very real! Super real! And she was pretty hot too. Whatever. Like, she taught me some things, and I helped her study and stuff. She practiced massage techniques on me. Which, looking back, might have been the best part about the relationship? We didn't end up having much in common, but I liked being her massage school guinea pig...anyway.” Dinesh trailed off and shook his head. “I could try to remember some of the stuff she taught me and it might help your headache? You know, since nothing else has."
Gilfoyle just stared at him in silence. It was lacking the usual menace though; his eyes were smaller without his thick glasses, and he was squinting just a little in the bright light of the kitchen, his mouth set in a hard line against the pain in his head.
".... whatever. It was a dumb idea.” Dinesh backtracked, trying to sound more casual than he felt. “I shouldn't have offered, it was dumb. Sorry, I made it weird."
Dinesh opened the fridge and stuck his head in to give himself a moment to recover away from Gilfoyle's gaze. The cool air felt nice on his face, which was flushed hot with embarrassment. Interacting with Gilfoyle always thrilled him, though often it was difficult to tell if it was from excitement or fear. Gilfoyle was still so hard to read most of the time; one moment Dinesh felt like they were in on the same joke, a team, and the next he was on the receiving end of some clever but mean-spirited barb. Were they even friends? They had known each other for a long time now, and they were plenty of things to each other: coworkers, housemates, antagonists, maybe even partners in crime. Everyone else knew that they were definitely a pair, a “we,” Dinesh&Gilfoyle. He figured that was close enough, good enough, and he didn’t want to mess it up. He took a deep breath and moved to close the fridge door, not sure how to flee this strange conversation.
"Okay." said a soft voice.
Dinesh shut the fridge and turned, eyebrows raised.
Gilfoyle wasn't looking at him anymore, but had propped his elbows up on the table, and was holding his head in his hands. Dinesh was momentarily distracted by the contrast of Gilfoyle's long pale fingers woven through his dark hair. He looked pretty miserable.
"...uh, what?"
Gilfoyle sighed and shifted, turning toward Dinesh.
"I said 'okay.' To your...massage offer. You're right, I've tried everything else that usually helps and it hasn't worked. As much as I enjoy watching the suffering of others, I don't actually like being in pain and would like it to stop."
Dinesh’s eyebrows went up in surprise. His offer had been earnest, but he didn’t honestly expect Gilfoyle to take him up on it. Well he’s in it now. "Oh...okay then. Umm..." he said, looking around, "Maybe we should sit on the couch?"
They both walked to the living room, stopping awkwardly in front of the couch, neither knowing where to go from here.
"Uhh let's put on a show or a movie or something so we're not just sitting in silence." Dinesh suggested, grabbing the remote and perching on one end of the couch. He flipped through his list on the Netflix account, and noticed that there was a new season of The Great British Baking Show that he hadn't caught up on yet, so he pressed play and turned the volume down a little. He looked over at Gilfoyle for approval. Gilfoyle grunted, then folded himself into the other corner of the couch, resting his head on the arm and closing his eyes with a grimace. Dinesh let his gaze linger on his friend, realizing that Gilfoyle must really be hurting if he couldn't even muster up enough snark to fling at Dinesh's taste in reality TV.
As the soothing sounds of British people baking fill the room, Dinesh settled on the couch and considered his next move. This was probably going to be weird. He wasn't sure how much he actually remembered about massage, after talking big about it a few minutes ago. And touching Gilfoyle like this was going to be new; they really only touched accidentally or aggressively, though both were electrifying when they happened. Dinesh pushed it from his mind. He was just helping out a friend! This was something friends could do for each other. He would offer the same to Richard or Jared...wouldn't he? He grabbed a pillow off the couch, put it on the floor, and then tentatively poked Gilfoyle's foot to get his attention.
"Hey, can you sit in front of me? I think it will be easier or more comfortable or whatever."
Gilfoyle opened his eyes and grunted again, but then unfolded himself and sat on the floor with his back to the couch. Dinesh gulped, hoping it wasn't audible. Gilfoyle was right there , nestled between his thighs, waiting to be touched. It sounded pornographic even in his head. His stomach did a curious swoop and he felt a wave of heat climb up his back.
"Ok--" he coughed slightly to clear the sudden lump in his throat, "let me know if anything I do is uncomfortable. I'm probably a little rusty, so, sorry."
"Hmmmm--ah!" Gilfoyle's hum of assent turned into a quiet gasp when Dinesh placed his hands on Gilfoyle's shoulders and pressed his thumbs into the tight muscles at the base of his neck. Dinesh froze.
"Was that okay? Did I hurt you?" he asked, alarmed.
"No. Sorry, I'm fine." Gilfoyle said quickly.
Dinesh started moving again, focusing on keeping the pressure even and firm as he slowly worked his way across his friend's shoulders, the smooth cotton of his grey t-shirt stretching warm and soft under his hands. He settled into an easy rhythm as he worked, trying to pay attention as the lighthearted drama of biscuit week unfolded on the TV screen. His focus kept drifting back to Gilfoyle. He could sense the tension in Gilfoyle's muscles, bunched tight and sore, but with each pass and press of his hands, he could feel them loosening just a little. Gilfoyle slowly tipped his head forward, chin almost touching his chest, and let out a noisy breath through his nose. Dinesh could feel Gilfoyle relaxing, his body was leaning into Dinesh’s leg for support as the stress he was carrying unraveled under Dinesh's hands. It made him feel powerful, competent, to know that he could help Gilfoyle, and that Gilfoyle apparently trusted him enough to allow him to touch him like this.
The evidence that Gilfoyle might trust him lit up the room in his mind that he tried to ignore, the one filled with all of the desires he denied himself every day: lingering stares toward the corner of their workspace; touching the soft curl of Gilfoyle's hair; imagining how he would feel spread out under him in the dark. Dinesh knew that thinking about your coworker that way was probably not wise, especially when you weren't even sure if they liked you at all, or merely used you as a convenient verbal punching bag.
Dinesh cupped his palms over the joints of Gilfoyle's shoulders, squeezing gently as he swept his hands back together at the base of his neck. He watched as goosebumps broke out on the skin above Gilfoyle's t-shirt collar. Fascinated, he brushed his thumb experimentally over Gilfoyle’s neck, mapping out the knobs of his spine. Gilfoyle inhaled sharply and pushed back into his hand. Well that was interesting. Keeping contact, Dinesh leaned down until his mouth was close alongside Gilfoyle's ear and his chest was almost touching Gilfoyle's back.
"Which side of your head hurts more?" He asked, voice low and gentle so as not to aggravate his headache.
Gilfoyle shivered as the warm breath touched his skin and he tipped his head back, pressing himself into Dinesh's chest. The smell of him up close was a heady mixture of coffee, the lingering ghost of his last cigarette, the fresh smell of soap on warm skin... Dinesh had to close his eyes against a wave of longing to bury his face in the crook of Gilfoyle's neck and just breathe him in. He wasn’t sure if that would be welcome.
"Uh--" Gilfoyle's voice cracked slightly. "Um-- the right. The right side." His deep voice was rougher than usual. Dinesh wished he could see his face.
Leaning back, Dinesh worked his hands up the back of Gilfoyle's neck, the ends of Gilfoyle's dark hair fluttering over his fingers as he pressed them gently and methodically into the tight muscles, focusing his attention on the right side. When he reached the base of Gilfoyle's skull, Dinesh spread his fingers and pushed his hands around the sides of Gilfoyle's head, then scratched lightly over his scalp and temples, fingers bumping over the arms of Gilfoyle's glasses as he rubbed. Dinesh could feel more than hear the deep groan that vibrated through Gilfoyle's chest at his ministrations. Dinesh had a sudden mental image of Gilfoyle as a big cat, purring contentedly, and he almost allowed a bubble of laughter to escape into the air between them before he was enthralled by another low groan. He found the sound of Gilfoyle's obvious pleasure deeply intoxicating, and his pulse thumped loudly in his ears. Dinesh felt momentarily delirious at the intimacy of the situation.
He focused on his own breath instead as a distraction but it wasn't much help. His mind was racing, all of his thoughts spinning out in every direction: he wanted to touch Gilfoyle everywhere, in all of his soft and secret places, to make him feel good all of the time, to hear all kinds of new noises that only he could pull out. Dinesh wondered if they would be nicer to each other if their relationship moved from frenemies, or whatever they were, to something else. He had imagined it before. Lost in various scenarios, his hands slowed and then stilled as he stared at the bakers on the TV waiting for the judges to criticize their biscuits.
A quiet voice and a cool hand on his wrist jolted him from his daydreams.
"Please don't stop."
Dinesh's heart jumped into his throat. He knew it was ridiculous that just a few words had so much power over him, but he couldn't help the whine that crawled its way out of his chest. Gilfoyle’s soft please and Gilfoyle touching his hand had him coming undone, want warming and writhing in his belly. Pathetic. He was so fucked. He closed his eyes and started spiraling into his anxiety. He had gotten himself into this mess by offering to do a weirdly-intimate thing with his sort-of-friend. Who does that? How was this supposed to end? With a high-five and an awkward goodnight, and then they'd just sit next to each other in the workspace tomorrow like and act like this never happened? Dinesh wasn't sure he'd be able to pull that off. Actually, he was sure that he wouldn’t be able to pull that off. His face was burning and there was no chance that Gilfoyle, who had an uncanny ability to read people, Dinesh in particular, wouldn't be able to tell that he was slowly drowning in his unrequited feelings. He was so fucked.
He untangled his hands from Gilfoyle's hair, dropping his palms to his thighs. He started to sweat.
Dinesh opened his eyes and looked down at Gilfoyle. His friend had turned toward him, looking up from his seat on the floor. Their eyes met, and Dinesh let out a small gasp of surprise.
Oh.
Oh fuck.
Gilfoyle looked wrecked: pupils blown large and black, hair in disarray, mouth slightly open, and he was breathing harder than normal. A rosy flush started on the top of his cheeks and disappeared into his beard. Automatically, Dinesh moved a hand up to cup the side of Gilfoyle's face. They stared at each other, transfixed.
Dinesh's gaze flicked down to Gilfoyle's parted lips, and the next moment, Gilfoyle surged forward into Dinesh's space, crowding him back against the couch. Gilfoyle hesitated, his face centimetres from Dinesh's, and touched their foreheads together as he exhaled.
"Please don't stop," Dinesh breathed into the space between their lips.
A small broken sound emerged from Gilfoyle, but he closed the distance between them, tilting his head as their lips met. How was this even happening? Was it an elaborate prank? Dinesh decided then that he didn't care. He had wanted Gilfoyle for so long now. The kiss was just a gentle press, chaste and sweet, the tickle of Gilfoyle's beard against his mouth, but Dinesh felt himself crack open. He grabbed at Gilfoyle's hips, pulling him fully into his lap, and then brought his hands up to cradle the sides of his face. When he opened his mouth to deepen the kiss, Gilfoyle melted into it, canting his head to fit them together more tightly, tongue moving against his insistently.
Dinesh let his hands glide over Gilfoyle's beard, enjoying the slight prickle of the hair under his fingertips. He could feel the muscles of Gilfoyle's jaw moving as he kissed him, pressing them closer and closer together, licking into his mouth. Gilfoyle clung to his shoulders, moaning quietly.
Dinesh felt incandescent.
The intensity of Gilfoyle’s reaction surprised Dinesh; he’d thought about what it would be like to kiss Gilfoyle sometimes, while he was alone in his room under his covers in the dark, but in most of those fantasies, he was the one giving in to lust, while Gilfoyle remained controlled and aloof as always. The reality of it, this Gilfoyle, eager and gasping, writhing on his lap, was unexpectedly delicious. This was so fucking hot and he needed it to keep going.
Dinesh skimmed his hands down Gilfoyle's sides to grab at his ass and dug his fingers into the firm muscle. They groaned together as their hips met, both panting and hard in their shorts.
“Is this okay?” Dinesh gasped out, feeling like his head was spinning.
“Fuck, Dinesh, yes. I fucking want you. Now please, please, move.” Gilfoyle growled and then bent down to kiss him again.
Holy shit, this was really happening.
Without much input from his brain, Dinesh’s hips began a slow and steady roll and he pulled Gilfoyle closer with each thrust. Soon they were grinding against each other, kissing in a way that was less about skill and more about trading whimpers and breath as they were increasingly preoccupied with the blaze building between them. Gilfoyle was rock hard and hot against him, and each drag of their hips together sent sparks shooting up his spine. Dinesh felt dizzy, and amazing, and already so close to the edge.
Gilfoyle began trailing wet kisses and sharp nips over his jaw, his ear, down the side of his neck. It was too much, it had Dinesh heaving in big lungfuls of air, trying to get his bearings, feeling like he was suffocating in sensation. He felt Gilfoyle’s fingers find his nipples under his rugby shirt, pinching and plucking and rubbing, and he couldn’t hold out any longer, the coil of tension in his belly finally snapping. He came with a wordless cry, thrusting and twitching, one hand on Gilfoyle’s ass still urging him forward, and one woven into his long hair, tugging hard in an effort to stay grounded.
Gilfoyle followed a few moments later with a groan, spilling long and hot between them. Dinesh kissed him through it and pet soothing strokes down his back as Gilfoyle trembled and jerked through the aftershocks of his orgasm. Sticky and over-warm, they lay together for a few minutes, kissing softly.
With what appeared to be great effort, Gilfoyle pulled back from the kiss, returning after a moment, once and then twice, as if magnetized, to nip at Dinesh's lower lip.
"Shit Dinesh" Gilfoyle sighed, as he finally pulled away and sat back on Dinesh's thighs. His glasses were askew, and his lips were swollen, red and wet. He was smirking his secret Gilfoyle-smile that was so stupidly charming. Dinesh wanted to make him look like this every day.
Dinesh just grinned up at him, feeling lit from within with delight. "How's your head?" he asked.
Gilfoyle looked down at him with wide eyes, and then broken into a surprisingly high-pitched chuckle. Dinesh would even classify it as a giggle if he didn't think that would be a mortal offense. Gilfoyle continued to laugh as he slumped down, burying his forehead in Dinesh's neck. Dinesh wrapped his arms around his friend's back; he could feel the laughter moving through him and soon they were laughing together in joyful relief.
"I'm feeling better," Gilfoyle breathed into Dinesh's shoulder as his laughter subsided. "I’m not sure if it was the massage or the orgasm that did it, but...thank you. You're very talented."
Dinesh snorted in amusement and stroked a hand over Gilfoyle's hair. "Oh, you're totally welcome to say that to me more often, you know."
Gilfoyle smirked again. "Your code is still shit, but now we know that when you inevitably fail as an engineer you could make your living as a masseuse. You were pretty good at the happy ending too, so you could charge extra."
"Oh fuck you!" Dinesh laughed and leaned his head back, covering his face with his hands.
"I'd like that." Gilfoyle grinned widely, a move that Dinesh found both incredibly creepy and oddly attractive. Dinesh shuddered slightly as his mind conjured some increasingly graphic images that he was definitely going to revisit later. For now, he pushed them aside.
“I like you,” Dinesh confessed, his voice coming out soft and sincere, instead of teasing like he’d intended. He was feeling that familiar combination of Gilfoyle-induced excitement and fear.
Gilfoyle shifted and then slowly stood up, sliding a little awkwardly off of Dinesh’s lap in the process. Dinesh felt a pang of panic, was that too much? Am I too much? He kept his gaze lowered, not sure what expression he would see on Gilfoyle’s face. Gilfoyle reached out a hand and pulled Dinesh up from the couch, leaning down to meet his eyes.
“I’m glad we’re finally on the same page.” He said, and then kissed Dinesh gently. Dinesh pressed into it, relief spreading honey-sweet through his chest. Breaking the kiss, Gilfoyle reached around, smacked Dinesh on the ass, and started off toward the bathroom. “Come on," he called over his shoulder, "Let’s get cleaned up. Last one in the shower is stuck with the scratchy towel!”
“Hey, no fair! You got a head start! You’re such an asshole, you’re lucky I like you so much.” Dinesh whined in mock indignation.
Laughing, he chased after Gilfoyle down the hallway.
