City produced one of their best performances of the season to beat the Hampshire visitors and stretch their unbeaten run to seven matches.
Goals from debutant Jamie Reid, centre half Jamie Richards and substitute Isaac Vassell were enough to see off the Hawks, who have now lost four matches in a row.
The win moved City up a place to 13th in the Vanarama National League South table.
The home side showed just one change, with on loan signing Jamie Reid from Exeter City starting in place of Matt Wright who dropped to the bench.
Cody Cooke also returned to take his place on the bench after injury.
Defender Rob Farkins has had to leave the club because of his army commitments and was at the game to say his goodbyes.
City and Reid got off to the perfect start with a goal in the tenth minute, when he latched onto a Conor Riley-Lowe long ball and calmly lobbed Ryan Young in the Havant goal.
But the visitors came back well, with Matt Paterson clipping the top of the bar and James Hayter having a header cleared off the line.
Truro's defence though was very solid as they went into half time still 1-0 up.
At the start of the second half it needed a great save from Martin Rice to deny Patterson before City doubled their advantage with central defender Jamie Richards heading home Ryan Brett's corner after 50 minutes for his first goal for the club.
Havant continued to press, but the home defence was exceptional led by Arran Pugh and Richards.
And they then caught the visitors out, when Vassell lifted the ball over Young to make it 3-0, after running onto a long ball.
It was effectively game over as City saw the game out without too many problems to continue their recent improvement.
CITY: Rice; Mitchell, Pugh, Richards, Riley-Lowe; Ash (capt); Green (Afful 81), Brett, Dawson; Duff (Vassell 49), Reid (Wright 65), Subs (unused): Cooke, White.
Yellow cards: Brett.
Havant & Waterlooville: Young; Boco, Clifton, Blanchett, Strugnell, Monthe, Swallow (Thomson 76), Donnelly (Capt), Patterson, Hayter, Azeez (Mullings 76). Subs (not used): Morgan, Ridge, Cummings.
Yellow cards: Monthie.
Goals: Reid (10) 1-0, Richards (50) 2-0, Vassell (73) 3-0.
Referee: Daniel Leach.