As the leading pack of nine athletes entered the stadium for the final time, Germany's Bjoern Kircheisen was in the lead. But Graabak started pulling away with 100 metres to go and Moan followed him.
"It's surreal. I didn't think I would get to achieve this," said Graabak, 22, who did not make the Norwegian team for the normal hill event. "I fought my way back ... today was my day."
After Graabak, ranked ninth in the world, made his move at the end the three Germans in the pack bumped into each other on a corner and Johannes Rydzek fell. Germany's Fabian Riessle took the bronze, with Kircheisen finishing fourth.
"It's a shame for the team. We could have had more medals," said Riessle.
Graabak came sixth in the ski jump element and started the 10km cross-country course 42 seconds behind world number one Eric Frenzel, who was suffering the after-effects of a virus.
Moan, who was a further three seconds adrift, said the two men had agreed they would try to gradually catch the leaders. Instead, they made up the gap very quickly and Moan then pushed the pace to try to stretch the pack.
"It was a bit of a strange race ... it was a bit of a surprise to see that already in the first lap we were catching up," said Graabak, who won Norway's first gold in the Nordic combined since 1998.
Frenzel, who had not trained for three days, faded towards the end and was the 10th athlete to cross the line. Defending Olympic champion Bill Demong of the United States jumped poorly in the rain and ended in 31st place.
Moan said the conditions on the jumps and the tracks had been surprisingly good given the heavy rain.
That said, Japan's Taihei Kato fell shortly after landing in the jumping section and looked to be in severe pain. Officials said he had broken his left elbow.
It was the second consecutive Olympic individual large hill event to be hit by the weather. In Vancouver, heavy winds picked up halfway through the jumping section and many leading contenders recorded poor efforts.
Frenzel had been bidding to become the first man to win both individual Nordic combined events since Samppa Lajunen of Finland in 2002. Lajunen also won a team gold at those Games.