Consistency was the word of the day in windy and difficult circumstances as Granerud jumped 132.5m and 132m, totalling 270 points.
Austria's Daniel Huber finished in second and Robert Johansson made his first podium of the season in third.
Luck played a big part and Markus Eisenbichler couldn't believe his when a big gust knocked him completely off track on his final jump right after he took flight.
The German who had won the first qualification on Friday night jumping 135m was seeking his third victory in four World Cup meets and was first after Round 1, but ended up in 28th position, his final leap cut short to just 80m.
Last week in Ruka the 24-year-old Norwegian Granerud ended Eisenbichler's three-in-a-row ambitions and it was Norway's day today too with fist bumps all round for head coach Alexander Stoeckl.
The two successive wins now put Granerud ahead of Eisenbichler in the overall standings by 17 points, 300 - 283.
Here's Granerud's winning jump:
Huber was clearly delighted to be airborne again after the entire Austrian team missed out because of Covid last week. He took flight with a 133m final jump that clinched second place.
Johansson went from 25th to 3rd with a sublime second jump that set a new hill record at 142.5m, catching and using a sudden gust of wind brilliantly.
He looked completely out of contention after a poor first jump of 120.5m, but rallied on a day when anything could have happened.
Another Austrian Thomas Lackner finished fourth with German Pius Pachke in fifth.