It was a half of few real chances and indeed the closest Mainz came was in the 34th minute when Andreas Ivanschitz struck the bar with an effort from outside the box.
Jansen then had another headed chance from a late first-half free kick but it went just wide of the post.
Son missed a golden chance from a Diekmeier cross just after the restart but 10 minutes later he did break the deadlock, hammering high into the net after being played through by Rafael van der Vaart.
He added to his tally in the 80th minute when he went on a long run and got past Rene Adler to stoke home.
Mainz pulled a goal back with five minutes left to play when Shawn Parker fired home from inside the box but they could not grab the equaliser as Hannover took the points.