The German scored a total of 266.4 points with jumps of 122.5 and 130 metres to take his sixth career win in the 1,000th individual World Cup event.
Geiger beat his rival and overall standings leader Stefan Kraft into second as the Austrian registered jumps of 119.5m and 126m to score 260.5 points.
Karl Geiger claims fourth World Cup win of season
Kraft's compatriot Michael Hayboeck completed the podium in third place.
"I went full throttle and got the table really well, that was awesome," Geiger said.
"I'm really in a very good shape, I'm really happy."
Kraft is still in control of the overall World Cup standings but Geiger's victory narrows the gap at the top from 138 to 118 points with four events remaining.