Work Header

I've Loved You From the Very First Day

Work Text:

Geralt watched as Jaskier flitted around the living room, setting up the various speakers in the “ideal acoustic positions” as he put it. The argument about whether or not to spend hundreds of dollars on a multi-room smart speaker setup was a futile effort on Geralt’s part. From the moment Jaskier said he wanted it, the fate of the farmhouse had been decided. So Geralt kept his grumbling to a minimum. When he asked Jaskier to move in with him, he hadn’t really expected his whole house to be turned upside down. Though it had anyway. 

“Geralt, I can hear your disapproval from all the way over here,” Jaskier said as he positioned the final little touch of his electronic monstrosity. It was a large screen, drilled right into the wall. 

“I didn’t say anything.”

“Oh, you don’t have to actually say anything. It’s written all over your face,” Jaskier said. The little screen lit up as he fiddled with it. “It’s bad enough that you insist on living in the middle of nowhere, let alone seem to have an aversion to absolutely everything from the 21st century.” 

Geralt narrowed his eyes at him. “I do not.” 

“I mean I guess if you’re hundreds of years old-”

“I’m barely even a hundred years old.”

“Then it makes sense that this is all scary sorcery to you. Though that metaphor doesn't really work, does it? I mean you use magic all the damn time. So this is like some alien-”

As Jaskier chattered on, Geralt struggled to fight off a small smile. He had known Jaskier for the better part of twenty years ever since Jaskier was eighteen. At first, it was an annoyance to have a human suddenly following along after him. He couldn’t count how many times he had to save Jaskier from the monsters he hunted, but Jaskier still stayed. Despite being a witcher, Jaskier wanted to be friends with Geralt and they had been for years. 

Friends at the very least, despite his brothers teasing of them actually being soulmates. The thought of Lambert and Eskel’s mocking embarrassed Geralt to the core. He had never confided that in Jaskier. It would be best not to risk damaging their relationship. At least anymore than he had already damaged it. He swallowed and tried to push that dark memory from just a few years earlier out of his mind. Turning to walk back over to the kitchen, Geralt grabbed a glass of water and watched Jaskier spin and admire his work. 

“Now to test it,” Jaskier said. “Any requests?” 

“Test it when I’m not here,” Geralt said, though he was only joking. 

Rolling his eyes, Jaskier turned back and tapped on the screen, pulling up some app to play music from. An upbeat song blasted through the speakers, making Geralt wince and bring his hands up to shield his ears. Jaskier scrambled to turn down the volume. 

“Sorry,” he said, looking sheepish. “That was a tiny bit louder than I meant to set it at. Despite possibly having tinnitus now, see how cool this is? Complete surround sound with lovely quality. You can be immersed in music wherever you are. Imagine listening to some of my songs on this setup.” He skipped through several songs until he reached one of his. “Perfect!” 

“You really do love the sound of your own voice,” Geralt muttered, which earned him a glare. 

He would be lying if he said he hated Jaskier’s music. The one playing was one of the first songs Jaskier ever wrote. It was about Geralt, about witchers in general, how heroic and wonderful they were. When Geralt first heard it, he was embarrassed and fully intent on never speaking to Jaskier again. Over the years, the song grew on him. He met Jaskier’s gaze and failed to smother down the warmth in his chest. Jaskier’s music wasn’t the only thing that had grown on him. 

Before either of them could say anything else, the front door slammed open. Bright-eyed and grinning, Ciri raced into the room. “I’m home!” She called, rushing inside. “Did you finish setting up the speakers? It’s so cool!”

“See, Ciri likes it? She has the best taste of this family,” Jaskier said, ruffling Ciri’s hair as she ran over to him. “How about you pick the music since Geralt so staunchly refuses to?” 


 It had been Ciri’s idea for Geralt to invite Jaskier to live with them. She thought it would make up for when Geralt, as Ciri put it, “selfishly blamed everything on his own best friend to avoid feeling anything.” The scolding was even more embarrassing when it came from a twelve-year-old, but Geralt knew she was right. It hadn’t been fair for Geralt to so dramatically throw Jaskier out of his life when his and Yennefer’s relationship imploded in his face. None of the events of the past twenty years had been Jaskier’s fault. He just happened to be there when everyone else had left. Yet, almost a year later, when Geralt asked Jaskier to live with him and Ciri, he had accepted immediately. He never spoke of their argument after the dragon hunt. At least, he hadn’t for a long time. 

While Ciri and Jaskier played with their fancy new toy, Geralt wandered out back to care for Roach. She huffed as he approached and flicked her ears at him. “Hey girl,” he said softly, stroking her face. 

Roach was the main reason Geralt wanted to live so far outside the city. It was the only way to have a horse. As always, he started with her hooves. He gently squeezed her leg and she lifted her hoof up immediately for him to examine it and pry out the dirt. Geralt sighed, still thinking of Jaskier even as much as he tried not to. 

“He hasn’t mentioned it,” Geralt said. Talking to Roach always made him feel better. “It’s been months and he hasn’t brought it up at all.” 

Roach snorted, flicking her tail back and forth. 

“I bet he doesn’t even remember,” Geralt continued. He finished up with Roach’s hooves and grabbed the curry comb. “He was drunk.” 

Geralt continued to ramble to Roach as he curried. “But that doesn’t change the fact that he said he loved me, that he’s loved me for years. Supposedly.” His hand paused and he rested his head against Roach’s shoulder. “Damn it.” 

The event in particular that Geralt still couldn’t get out of his mind occurred just a few months earlier. Ciri had been spending her spring break with Yennefer and Triss to work on controlling her magic, which left Jaskier and Geralt all alone for the first time since moving in together. They had started with just a few drinks, which for Jaskier turned into several bottles of wine and a drunken confession. Geralt hadn’t responded. He had just sat frozen in shock when Jaskier climbed into his lap, kissed him, and said he had been in love with him for years. They didn’t talk about it the following morning and Geralt hadn’t even been certain that Jaskier remembered it occurring at all. 

Yet, Geralt couldn’t forget. He couldn’t brush it off and pretend Jaskier didn’t mean it. It felt like he meant every single word. There were tears in his eyes and the confession was very over the top and dramatic in typical Jaskier fashion. So Geralt knew there must have been some truth to it. Despite being an asshole to him, Geralt knew that Jaskier loved him, at least at one point. He just couldn’t figure out what to do with that information.

“Maybe he did remember,” Geralt continued under his breath. He set the curry aside and grabbed the mane comb. Roach glanced at him as he began to detangle her hair. “Once he said it, he realized he didn’t mean it. That’s it.” 

Roach turned and stared at him. 

“He doesn’t love me,” Geralt said, pushing himself further into denial. “Not after how I’ve treated him for decades. I’ve barely even been a good friend to him.”

Once Roach had been brushed and thoroughly pampered, Geralt finally trudged back to the house. He discovered that Jaskier ordered pizza for dinner again and when he glared at both him and Ciri, they sent back sheepish smiles. 

“She got an A on her test,” Jaskier said quickly. “So she deserves it. Right, Ciri?” 


Rolling his eyes, Geralt grabbed a plate and took several slices for himself. He sat next to Jaskier and pretended his heart didn’t flutter when their legs brushed under the table. It felt perfect, just quietly sharing a dinner together. They already acted like a family half the time and Geralt wondered how that would change if Jaskier had confessed for real. He wondered what it would be like if he returned those feelings. 

When Jaskier took Ciri out to the mall the following day as another reward for her test, Geralt was left alone in the house. He took the chance to examine the smart speaker system. When he tapped on the touchscreen it brought up a listing of all of Jaskier’s playlists. There must have been hundreds of them. Rolling his eyes, Geralt fought off a small smile as he scrolled through them. Then, something caught his eye and he stopped. There was a playlist with his name on it. Specifically, there was a playlist called “Geralt/Jaskier But Only Taylor Swift Songs.”



Geralt raised an eyebrow, but clicked it anyway, putting it on shuffle. The songs started blasting through the speakers and Geralt winced, having to turn the volume down a little. He listened as he cleaned up the mess of pizza boxes from the previous night. At first, he didn’t think much of the song choices but then realized how many of them were forlorn. The songs were about being cast aside or loving someone out of your reach. He paused, frowning even more as he noticed that the majority of the playlist seemed to be filled with rather depressing songs, with only a few happier ones scattered here and there.

The one screaming certainty of the playlist was that Jaskier’s drunken confession was not insincere. Geralt had heard Jaskier singing many of the sings around the house whether it was when he was showering or cleaning or just idly playing his guitar out on the porch. The evidence had been pouring through in song for such a long time. Jaskier really did love Geralt and all he managed to do was break his heart over and over. Geralt sighed and dropped down onto the couch with his head in his hands. 

“Fuck,” he muttered. He felt like an idiot. 

By the time Jaskier and Ciri returned from the mall, Geralt had listened to all of the playlist and had started it again. He figured he might as well drive the point into his mind a little further before he changed his mind. If it took listening to one of Jaskier’s stupid playlists to get him to confess his feelings, then he would suffer through. 

“I knew you’d like the speakers,” Ciri said. She had several very full shopping bags. Apparently, Jaskier had spoiled her once again. “I love this song. It’s so sweet.” 

The current song playing was one of the few happier songs on the playlist. Geralt glanced over at the screen. It was called, “Wildest Dreams.” He looked back to Jaskier, who seemed to still not have realized what was playing. He hummed along, pulling off his shoes and haphazardly tossing them onto the shoe rack. 

“I would have expected you to be listening to more of a classical music playlist or perhaps classic rock,” Jaskier said. He walked over to the screen and tapped on it. “Certainly not peppy, upbeat-” He froze in surprise when he saw the title of the playlist flash across the screen. Turning slightly, he met Geralt’s gaze and his face flushed. His reaction confirmed Geralt’s suspicions. 

“Ciri, go to your room,” Geralt said, not taking his eyes off of Jaskier. It was about time that they stopped dancing around their feelings for one another.

Ciri huffed and crossed her arms. “Why?” 

With a sigh, Geralt just said, “I need to talk to Jaskier. Alone.” 

Ciri looked between the two of them, eyes widening just a bit as the song changed to another more sad love song but didn’t question it. She grabbed her bags and disappeared into the hallway. Geralt didn’t say anything until he heard the click of her bedroom door closing. 

“I probably should have deleted this playlist,” Jaskier said, inching backward to stop the music. He reached up and smacked at the touchscreen, accidentally skipping through a few songs before halting the music entirely. “It’s silly. I mean I just made it on a spur of the moment. There was just one song that kind of reminded me of you and then another and it got a little out of control. You shouldn’t read into any of it and-”

“I listened to the whole thing.” 

That made Jaskier freeze in surprise again. He frowned, biting his lip a bit. “All of it? It’s two and a half hours long.” 

Geralt just hummed in response, walking over towards Jaskier, who watched him like a deer caught in headlights. 

“You shouldn’t read too much into it,” Jaskier repeated. He took a step backward. “It’s just a bunch of random songs with absolutely no deeper meaning. I never listen to it and I mean I don’t even like half of the songs.” His voice cracked a bit, an obvious tell.

Instead of calling him out, Geralt stepped closer and asked, “Do you remember when you got drunk during Ciri’s spring break?” 

“I remember being hungover,” Jaskier said way too quickly, another obvious tell of his. “I must have been blackout drunk to have such a headache.” He took another step back and pressed himself against the wall. “I’m sure I did and said things that were very embarrassing and not true at all. We should forget any of it happened at all.” 


With a wobbling smile, Jaskier blinked back at him. “Geralt.” 

“Are you in love with me?” 

All at once, Jaskier’s fake smile and easygoing expression collapsed. He looked guarded and Geralt could smell his spike of anxiety, hear his heartbeat speed up. “Wh-What?” Jaskier asked, voice squeaking. “You’re my best friend. I-I don’t-”

“We’ve known each other for decades,” Geralt said. He swallowed, eyes darting across Jaskier’s face. “I know you. I know when you’re lying.” 

Jaskier looked like he was about to protest again, but he didn’t. He dropped his eyes down, staring at the floor as he chewed on his bottom lip. “Yeah, I know,” he said, sounding utterly defeated. “I didn’t want to say anything or risk-” He broke off, taking in a deep breath. “I couldn’t risk losing you again.” 

Geralt felt cold. His chest ached when Jaskier looked back at him and blinked away tears. 

“I figured if I just pretended that I didn’t remember kissing you, confessing to you, then you would just ignore it. That you wouldn’t throw me away again.” 

“Jaskier, I-”

“I get it. I know it was stupid and immature of me, but I’ve really enjoyed living here. I’ve adored spending time with Ciri and you and making this place our home. I couldn’t lose it. I just couldn’t. I’m sorry.” 

Guilt crashed over Geralt. Of course Jaskier never brought it up. He thought that Geralt didn’t feel the same way. He was scared that Geralt would push him away again like he had so many times before. With a heavy heart, Geralt reached out and gently tipped Jaskier’s face back up so he could look him in the eyes again. Jaskier blinked back, tears starting to stream down his cheeks. 

“I’m sorry,” Geralt said softly and when Jaskier looked confused, he continued, “For how I treated you. For pushing you away, for never apologizing after that. I’m sorry that I’ve made you feel cast aside, made you feel unloved.”

“You didn’t-”

Geralt cut in, determined not to let himself off easy, “Jaskier, I listened to that entire playlist. I know exactly how I’ve made you feel.”

“There are happy songs on there too,” Jaskier muttered, which made Geralt laugh. At that, Jaskier smiled. 

Before when they had kissed, it had been rushed and sloppy considering Jaskier had been drunk and Geralt was too startled to reciprocate. So when Geralt leaned in to kiss Jaskier, he savored the moment. He tried to memorize the feeling and warmth that filled his chest when Jaskier reciprocated, pressing closer to kiss him back. Their hands were in each other’s hair and when Geralt pulled back it was only to drag his lips across Jaskier’s neck and kiss his jaw. 

“I love you too,” Geralt whispered, grinning as Jaskier drew in a sharp breath. “Guess I should have made it more obvious.” 

“I cannot believe I’ve spent the last two months thinking my drunken antics caused me to make a horrible mistake and almost ruin our friendship. You should have said something.”

With a soft hum, Geralt just pulled back and kissed Jaskier again. He should have said something earlier, but it wouldn’t be like him if he didn’t pine and complain to Roach for months instead. 

“I knew it!” Ciri’s voice chimed across the living room and Geralt felt his neck grow hot. 

At the exact same time, both Jaskier and Geralt said, “Cirilla, go back to your room!” 

Grumbling under her breath, Ciri whirled around and stormed back into the hallway. Geralt almost laughed again, meeting Jaskier’s embarrassed grin with one of his own. Home felt even more like home. In a way, Geralt actually felt happy that Jaskier installed that stupid speaker system. Without out, they both might have continued to just drown out their own feelings for the rest of their lives.