Work Header


Work Text:

“I,” Lambert panted, teeth gritted in a grimace, “hate you so much, you absolutely enormous prick.”

“Fuck,” said Geralt. He shoved into Lambert again, who yelped and clenched down. “This is all your damn fault.”

Lambert groaned, as he should have, because Geralt was right. They wouldn’t be in this position, Lambert with his knees around his ears and Geralt still half in his armor, if he’d just kept his mouth shut instead of antagonizing the priestess.

“No ‘s not,” Lambert slurred. He arched his neck and shuddered as Geralt’s hips met his, and Geralt angled his next thrust to match. Lambert whined. “Hurry up and come already.”

“You first,” said Geralt, and stuck his thumb in Lambert’s mouth. It was a mistake because Lambert bit him, but then those plump lips pursed and Lambert started to suck. Maybe it was the curse or maybe he was worked up or maybe Lambert was just that good, but Geralt felt each pull of his mouth like a line of electricity down his spine to his cock, and a groan escaped from behind gritted teeth. Lambert just sucked harder.

“Mm,” he said, and Geralt tore his eyes way from where Lambert’s cock bounced against his stomach to search his face. He was red and sweating, pupils blown wide, but no discomfort pinched at his the corners of his eyes. Geralt pressed down on the velvet softness of Lambert’s tongue.

He jerked when Lambert clamped his teeth together even though he was expecting it. Lambert whimpered, muffled, and then glared; how dare Geralt hear him make that sound. Geralt grinned at him.

It was a good thing Lambert came on the next thrust, because Geralt was sure he was gearing up to bite his thumb off. Geralt shoved in a couple more times, inelegantly, as Lambert writhed and did his level best to buck Geralt off onto the floor, until he came too.

“Hate,” said Lambert faintly, one arm thrown over his eyes. He let his legs sprawl as Geralt lowered them down. Geralt still felt keyed up, on edge; he wasn’t hard enough to pound nails anymore, but the tension hadn’t left his muscles.

“Think that did it?”

One cat-yellow eye peered up at him. “It fucking better have. If we need to do this again I get to be on top.”

Geralt glanced at his cock, which was finally starting to soften, and then at Lambert’s, which was looking distinctly limp. “Should be fine.”

“That’s what you said when we first took on this godsdamned contract, and look where we are now. Fine. Yeah fucking right.”

“Like I said, if you’d just kept your mouth shut—“

“Well if she hadn’t been such a bitch—“

Everything got a bit fuzzy then, until Geralt gasped and arched his back and orgasmed even as he rapidly became aware of Lambert’s furious face.

“And why are you always the one on the fucking top?” he snarled, before coming in white ropes all over their fists and Geralt’s belly and his own chest.

They collapsed together on the floor.

“We need to go to Corvo Bianco,” said Geralt, sounding slightly muffled. “It’ll be safe there while we figure out how to break the curse.”

“Can’t be on the road like this,” Lambert agreed. “Though maybe we could scare off some bandits if we just starting to fucking go at it. Hah, I mean, a look at your bare ass would scar anybody.”

“Can you not argue for one second of your entire life,” said Geralt.

“Fucking deal with it,” said Lambert. “You’re not the one getting fucked up the ass every time I say something that hurts your delicate fucking feelings.”

They fucked three more times before finally figuring out that the best way to stay coherent was to ride in silence a solid half-dozen horse lengths apart. Luckily there didn’t seem to be any sort of proximity component to the curse, but they didn’t want to risk splitting up; Geralt pointed out that while the both of them were affected, other people might not be. If one of them got into an argument with the guard or even just some random villager on the road, they’d probably get beaten to death after they started to strip.

“Guess that’s better than raping somebody,” Lambert muttered. Geralt nodded in grim agreement.

It took them a week to make it to Corvo Bianco, barely speaking the whole way. They still had a couple of mishaps, Geralt taking Lambert in the woods up against a tree as Lambert hissed various invectives, the two of them nearly falling ass first into the fire after they sniped at each other over dinner. Geralt was slowly starting to feel out the edges of the curse, how it functioned and wove between them, its limitations and pitfalls.

“What we need,” said Lambert, “is one of your sorceresses.”

“I don’t have a sorceress,” said Geralt. Thoughts of Yen had softened from a stab between the ribs to a twinge, but it still hurt. “You’re the one with a sorceress these days.”

When Geralt ran across Lambert without Kiera he hadn’t asked after her. Not that he didn’t care, although that was a part of it, but because he’d always felt that Lambert was… kind of lonely. Out of the four of them Vesemir had Kaer Morhen, Geralt had Ciri and Yen, and Eskel had his job and Geralt. But Lambert hated being a witcher, and that sort of bled into how he felt about his fellows. If Lambert and Kiera had a falling out, Geralt didn’t want to remind him of something painful.

“She’s busy,” said Lambert sourly. “Some Lodge business, apparently. Too delicate for anyone not a sorceress to be part of.” He spat in the dirt.

By now Geralt knew not to try and express sympathy. He grunted.

“So?” said Lambert. “Any insight from the great White Wolf?”

“Emotion based curse, obviously.”

Obviously,” sneered Lambert.

“Takes hold whenever we express anger or frustration with each other,” Geralt continued, keeping his voice even. “Doesn’t matter if we’re actually pissed or not, it’s the act of arguing that triggers it. Think it’s actually focused on you, and I was just caught up in the backlash, because it also doesn’t actually matter who started the argument. End result is the same.”

“What do you mean it doesn’t matter if we’re pissed or not.” Lambert narrowed his eyes. “It was that time over the campfire, wasn’t it. You were pretending to be mad, you asshole?”

“Don’t get angry,” said Geralt, knowing it was a mistake even as the words escaped his mouth. “I needed to figure out the boundaries of the curse.”

“Don’t get angry?” said Lambert. “Don’t get angry? I’m angry all the fucking time, and you jerking me around only makes it worse!”

“Sorry.” Geralt very carefully didn’t snort at Lambert’s choice of words. “Like I said, needed to know.”

Lambert glared fire, but in the end he nodded. “All right,” he said grudgingly. “At least you learned something useful.”

“Doesn’t really help us break the curse, though,” said Geralt. “It’s too bad we didn’t hear what it was. Would make this a lot easier.”

“Yeah, well. You can’t change—”

“—what you can’t change,” Geralt finished. The echo of Vesemir’s voice prickled behind his eyes and for a moment Lambert even looked sympathetic. “We’ll just have to try and keep narrowing down the scope of the curse. Analyze it and break it that way.”

“Wow,” said Lambert insincerely. “You’re so smart, Geralt. I would never have thought of that.”

“There’s ‘reversing the offending action without changing the emotion behind it’ checked off,” replied Geralt drily.

Lambert gave him the finger.


Several weeks passed as they whittled away at understanding the curse and tried various cures. The two of them rode into Beauclair and hired a whore to argue with Lambert, which ended with Geralt almost cracking the window as he took Lambert up against the wall. The whore laughed herself sick and refunded them half her fee. Then Geralt broke out the wine in an attempt to cheer Lambert up enough to try arguing when they were both feeling mellow, but it didn’t work until they went and slaughtered a couple of giant centipedes first.

“Oh, you tripped,” said Lambert gleefully as he drank straight from the bottle. “I had to save your ass.”

“No you didn’t,” said Geralt. “I saved your ass when you missed casting Yrden.”

“You liar.” Lambert smirked and slung one arm over the back of his chair. “Just admit it. The White Wolf needed me to save his life after he took a header into a ditch.”

“I didn’t trip,” Geralt insisted.

“You absolutely tripped.” Firelight played over Lambert’s face, smoothing the frown lines by his mouth and brow. His pupils were narrowed to slits as he cast a sly glance at Geralt’s face.

Later Geralt would blame the wine for how surprised he was, but truthfully he wasn’t even that drunk. He just wasn’t expecting Lambert to flow out of his chair and straddle Geralt’s thighs, bottle knocking into Geralt’s spine as he draped his arms over Geralt’s shoulders. The kiss he pressed to Geralt’s mouth was deep and lush and tasted of Sansretour.

“Really?” Geralt mumbled. It didn’t feel like he was caught up in the curse this time, but Lambert obviously still was. He sucked at Geralt’s lower lip.

“I don’t need you to fuck me or anything.” Lambert ground his hips down in blatant contradiction. “Just… gotta jerk off. With you.”

Now there was an idea. If Geralt got Lambert off and didn’t do anything himself, would that be enough? Given that he didn’t feel any urge to fuck Lambert.

…Well. Any compulsion to fuck Lambert. He very carefully didn’t think about how he might or might not want to sleep with Lambert, how his face looked twisted up in pleasure, how it was nice to feel another warm body next to his. If Lambert somehow made Geralt fall for him because of a sex curse, he’d never forgive him.

“Okay,” he said, and fumbled open the laces of Lambert’s trousers. Lambert’s cock was already hard, the smell of his arousal familiar. The tip left a wet streak along Geralt’s wrist. “Together.”

Lambert’s hand joined his, fingers interweaving. “Together,” he agreed, breathless.

They stroked Lambert off until he came with a cry into Geralt’s mouth. Geralt didn’t have to jerk off, and Lambert seemed fully back in control of himself afterwards.

“Well, that’s something,” said Geralt. He kept his thigh muscles clenched tight. If he didn’t touch himself, his erection would go down eventually.

“Mhm,” said Lambert. He stood and stepped back.

“You kept ahold of that this whole time?” Geralt demanded.

“What?” Lambert looked at the wine bottle still clenched in one fist, then brought it to his mouth and drained it. “Of course I did. I have priorities.”

“…I’m going to bed,” said Geralt flatly. If he jerked off in the privacy of his room, nobody else had to know.


“So,” Lambert greeted him the next morning. “I’ve got an idea.”

“Let’s hear it,” said Geralt. Things looked better after a good night’s sleep, and he was feeling hopeful. They were getting a handle on the curse, closing in on a cure. He could feel it.

“Last night,” said Lambert. His fingers tapped a restless rhythm on his thigh. “It was… like I was underwater. Everything kind of muffled. Refracted. But I could control what I was doing, kind of. I was aware enough of not being in control that I could influence how the curse manifested.”

“Because you weren’t angry?”

“Think so.” Lambert frowned. “Which means it’s action and emotion based, meant to punish in combination. If you reverse both it ought to short out the magical energies.”

“It’ll have to be high intensity,” said Geralt. He’d come to the same conclusion, more or less, as he wiped his belly clean of semen last night. “Strong emotion, strong action.”

“Yeah.” When Lambert looked away, Geralt stared. Was Lambert… blushing?

“You had an idea?” Geralt prompted.

“Don’t fucking laugh at me,” Lambert muttered. And he kept muttering. Geralt wouldn’t have been able to hear him if he weren’t a witcher. “When we fuck, you hold off until I say please. Make me mean it.”

“You’d have to be pretty frustrated for it to work,” said Geralt diplomatically.

“Yeah,” Lambert snarled, jerking his head up and meeting Geralt’s eyes with a molten glare. “Out of my mind with it. You think I don’t know that? I’ve got to be pissed as Midwinter is long and beg you for it.”

“Hey,” Geralt raised his hands. “I’m not trying to make things worse. But you’re not exactly making it easy.”

“Well this isn’t easy,” said Lambert tightly.

Geralt breathed out a sigh through his nose. “Just promise me you’ll still talk to me after this is over.”

“You’re such a fucking sap,” Lambert snapped. After a moment he nodded. “I’ll still talk to you after we break this stupid curse, all right?”

“That’s all I ask.” Geralt gestured vaguely at the door to his room. “So do you want to try now, or…?”

“Tonight,” said Lambert grimly.

“Sure,” said Geralt.

He didn’t see Lambert at all for the rest of the day. Roach was rested up and getting restless so he took her out for a ride, and then the townspeople wanted his time: he helped move a broken cart, shored up a sagging roof, and judged the health of a whole field of grapes before he got back to the house for dinner.

“Oh, you’re back,” said Lambert. “I thought you might have run off.”

“Shut up and eat your dinner,” said Geralt, buoyed by the warm satisfaction of a day doing honest work outdoors. “You can mouth off all you want later.”

Lambert must have really been rattled, because he only grumbled a little before bending back over his plate. Geralt loaded up his own plate: glazed pork rinds with a layer of crunch, buttered squash, thick dark bread and hearty vegetable soup. Marlene’s cooking was amazing as usual.

They didn’t talk over their meal. Both of them knew what was coming, so where was the need? Geralt finished first and strode to his room to prepare, leaving Lambert still picking at his food.

His bed was sturdy enough, so no problems there. He needed some leather ties – the repair strips for his scabbard ought to do – and oil, which he had in abundance. His canteen of water was still good and clean rags were nearby for afterwards. He’d probably need new sheets, but that could be dealt with later.

Just when he started to contemplate getting in a spot of quick meditation, Lambert stomped in the door with his hand already yanking at the laces of his shirt.

“I’m here,” he said, glowering at a spot two inches above Geralt’s head. “But I don’t have to like it.”

“You don’t have to like it, you just have to do it.” Geralt gestured at the bed. “Ready?”

“Don’t I fucking look ready?” Lambert stripped off his shirt and started on his breeches. Geralt followed suit, a little belatedly; given how long it would probably take, he didn’t want to be stuck sweating through them.

“You look like you’ve been assigned punishment duty mucking out stables.”

“Yeah, well, that was always a pain in the ass… which is exactly what I’ve been feeling these past couple of weeks. Wow, what a fucking coincidence.”

“Hey, I’m doing you a favor here.”

“A favor?” Lambert’s eyes actually bulged a little. Maybe Geralt should tone down the antagonism, at least until he’s got Lambert tied down. “A favor? You call getting your godsdamned rocks off while I—“

“Also get your rocks off?” said Geralt.

“I’m gonna fucking kill you,” Lambert vowed, before Geralt tripped him at the ankles and bore him down on the bed. He started to struggle when Geralt got the first tie around his wrist.

“Stop, uhgn, fighting me,” Geralt gritted out, pinning Lambert in a wrestling hold. Tying a knot with one hand was more difficult than with two, but only marginally.

“I’ll fight you every fucking step of the way, that’s the whole point,” Lambert snarled. He twisted and nearly bucked Geralt off.

When Geralt grabbed his cock he froze long enough to Geralt to yank his other arm into position.

“Cheater!” Lambert yelped belatedly, and yanked at his bindings with enough force that Geralt worried for his bedframe. But the ties held, and eventually Lambert subsided, breathing hard. “Well? Are you going to fuck me or not?”

“Eventually,” Geralt said. He couldn’t resist adding, “That’s the whole point.”

‘I will kill you,” Lambert promised. “Get the fuck over here. And take off your pants.”

“Well if you hadn’t fought me,” Geralt said, but he got up and stripped off the rest of his clothes.

“Don’t start,” said Lambert. He wriggled in a way which somehow ended up with the pillows underneath his shoulders.

Geralt could have sniped back, but like Lambert said – the point of all this wasn’t to argue, it was to break the curse. And yeah, sure, it would require some arguing. No question about that. Anything involving Lambert was bound to involve at least a little bit of arguing.

Lambert’s shoulders jerked when he leaned down and bit at one dark nipple, but no sound escaped his lips. Geralt smirked and licked, noting the suppressed twitch in Lambert’s leg, and then moved his way down. By the time he was exhaling warm air over Lambert’s carefully untouched cock he could hear the slow, deep breaths Lambert was pulling in through his teeth and found himself counting along: one two three four five six seven hold two three four five six seven out two three four five six seven eight nine ten, until Lambert broke and swore.

That was what he’d been waiting for. Geralt wrapped his mouth around Lambert’s cock and rode out the jerk of his hips, sinking down and swallowing, pulling back up with a hint of teeth. Like most witchers, Lambert preferred a bit of pain with his pleasure. He sucked him until he smelled a subtle change in Lambert’s sweat, felt the heavy vein along the underside swell, and pulled off.

Lambert snarled. He looked transcendently pissed off but not yet deranged, so Geralt got right back to work.

“You are,” Lambert hissed, “the worst person to have been cursed with, you bastard, hurry up and touch me.”

“Am I not touching you?” said Geralt, and bit Lambert hard on the inside of his knee. Lambert’s vicious swear covered the sound of Geralt opening the bottle of oil, which meant that he nearly got kicked in the face when he slid slick fingers down the crease of Lambert’s ass.

“I’m getting mixed messages here,” he said, and pressed one finger in. Lambert’s mouth opened but nothing came out except a moan. Geralt slid in another finger.

“The message you should be getting,” Lambert gritted out, “is that if you don’t hurry up, I will fill your boots with horse dung every day for the rest of your miserable life, and you will die smelling like -- shit!”

“Happy?” Geralt also hissed his words out through gritted teeth, albeit with less frustration and more pleasure. Lambert was tight and hot around his cock, not yet fully stretched, and Geralt couldn’t help rocking in and out a little, working to loosen him up. Lambert clenched down and shuddered.

“Ahh—ecstatic,” Lambert said, somehow sarcastic even as he threw his head back and writhed.

Fine. Yeah, Lambert was ready. Geralt pounded into him, bedframe banging against the wall thud thud thud thud until Lambert gave up attempting to brace himself against the headboard and they were both streaming with sweat. It was almost a physical pain when he pulled out, and Geralt thought deliriously that Lambert was going to owe him so much for this, was going to owe him forever.

“Wha—” said Lambert, almost a wail, and arched his back. Geralt leaned down to lick over the crown of his cock and Lambert nearly broke his nose as his hips jerked. “Geralt—”

Lambert was wet, practically dripping, but he wasn’t in danger of coming. Geralt closed his mouth over the tip and sucked.

“Yeeaa-ah,” Lambert moaned. Geralt grabbed his hips as he tried to get deeper, holding him flat, until Lambert drove his heel hard into the back of his calf.

“Ow!” He pulled off again. “Stop that.”

“Make me.” Lambert squinted open one eye.

That wasn’t what he was supposed to say. Geralt sighed and decided to change tactics; the direct approach obviously wasn’t going to work. Lambert watched suspiciously as Geralt kneeled up and leaned in close, nipping sharply at Geralt’s mouth as he pressed them together, hissing as Geralt deliberately scraped his beard over the thin skin of his neck and collarbones. He made interesting noises as Geralt moved over to chew meditatively on his nipples, but none of them sounded like words.

“You need to talk.”

Lambert took a long time to reply. In the panting silence Geralt trailed his fingertips along the crease of Lambert’s thigh, feeling the sweat slicking his skin. If he pressed a little harder he ought to be able to feel the throb of his pulse.

“Like I said. If you want me to talk, make me.” Lambert’s voice rasped in his throat like he’d been holding back more sounds than he uttered, Geralt was gratified to hear. At least something was going right.

“Don’t make me break out the Signs,” said Geralt. Underneath him Lambert’s whole body twitched.

“Fuck, no!” said Lambert. “You’re not Eskel, I don’t want to end up with my dick burned off.”

“Then work with me here,” Geralt grunted, and bit down hard on the heavy muscles of Lambert’s chest. Lambert yelled. “Huh. Guess that works.”

He flipped Lambert over onto his stomach and pushed him up a little so he had some slack for his arms, then nudged his legs apart and slid back inside. At the first smack to his ass Lambert started to insult his ancestry; by the time his skin was hot and red he’d moved from steadily speculating about animals and monsters in his family tree to merely cursing Geralt. Geralt leaned down and bit his shoulder, then the nape of his neck, laving his tongue over short spiky bristles of his hair. Lambert shivered and shoved back against him, wanting more.

“C’mon,” Geralt muttered. “Ask me nicely.”

“Fuck you,” Lambert gasped, and then let out a wild, pained noise as Geralt thrust in and ground deep, swiveling his hips against the tender sensitized skin. “Touch me, godsdammit, please.”

There we go,” grunted Geralt, and moved. Lambert seemed to remember himself for a moment, cursing again, but Geralt knew with a hunter’s certainty that he was close to catching his prize. “C’mon, Lambert.”

“Geralt,” Lambert snarled, and heaved for breath. “Please, all right, you bastard, please fuck me harder, I want to— I need– please—”

Geralt fucked him a little longer, just to be sure, until Lambert was reduced to making helpless angry pleading noises into the bedsheet. He practically yowled when Geralt closed his fist around his cock and stroked, squeezing tight and fast, ruthless. Geralt groaned too as he came, the hot spasms of Lambert around him bringing him over the edge.

They both laid there in silence for a time.

“Untie me,” Lambert said eventually, voice muffled. Geralt reached up without moving any other part of his body and fumbled with the leather ties. Lambert’s arms fell free with a thump.

More silence. Geralt could feel himself start to itch, but he really didn’t want to get up.

“You think that did it?” Where did he leave the cleaning rags… maybe he could grab them without getting up.

“I feel like we’ve had this conversation before.” Lambert’s voice was still muffled, probably because he hadn’t moved from his position face-planted into the mattress. “It better have.”

“You can yell at me in the morning and we’ll see,” Geralt yawned. He threw out a hand and grabbed something vaguely cloth-like from the bedside table, used it to wipe himself down, then rolled onto his side. “Good night.”

“Mrphf,” said Lambert. Geralt would have liked to have thought Lambert said “good night” back, but he knew better. It was probably more along the lines of “fuck you.”

He closed his eyes.

The next morning they opened to the sight of Lambert’s knuckles in front of his nose, a heavy weight pressing into the side of his neck and over one knee. He shifted and Lambert growled a little into the back of his neck, hot air gushing damply into his hair.

Lambert was cuddling him.

He elbowed him in the stomach and staunchly didn’t miss Lambert’s warmth as he recoiled hard enough to fall off the bed.

“What the fuck!” Lambert’s hand popped up and grabbed the mattress as he levered himself to his feet. “What was that for, you asshole?”

“You hit me first,” Geralt lied.

“I fucking did not,” said Lambert. He punched Geralt in the thigh. “Don’t blame me if you like being the little spoon.”

“I don’t,” said Geralt, lying again.

“You absolutely fucking do,” said Lambert, and then paused. “Are we arguing right now? Are we having an argument?”


“Fucking yes,” Lambert hissed. He clenched a fist and pumped it once before punching Geralt in the thigh again, hard.

“Ow!” said Geralt, and rolled off the bed himself. “Don’t punch me, I helped you break your stupid curse!”

“It affected you too.” Lambert tried to sound angry, but all he managed to do was sound manic. “Now I’m gonna go back there and kill that fucking priestess—“

“No you’re not,” Geralt interjected. “She didn’t do any harm.“

“Any harm?” said Lambert. “Any harm? How about how much my ass aches this morning—“

“I can’t believe I thought I might like you,” Geralt said under his breath. His brain must still have been waking up, because that was obviously an enormous mistake.

“What did you say?” Lambert snapped.

“Nothing,” said Geralt, but it was too late.

“If you’ve gone and fallen in love with me,” Lambert said warningly.

Geralt punched him in the face.