Katich (67 not out) stood firm as wickets fell around him to guide Australia to 6-131 at stumps, an overall lead of 189.
Returning allrounder Andrew Symonds (20) played a part in Australia's recovery, sharing in a 56-run stand with Katich before he was caught behind off Chris Martin (3-52) attempting a lusty hook.
It largely saved Australia from blushes after they had slumped to 4-53 with Matthew Hayden and Mike Hussey going for ducks.
Australia were all smiles after Mitchell Johnson (4-30) had helped dismiss New Zealand for just 156 in their first innings, still trailing the hosts by 58 runs.
But Australia promptly had their grins wiped from their faces when Hayden was sensationally caught behind off Martin on the first ball of the second innings.
Normal service appeared to resume before skipper Ricky Ponting (17) skied a pull shot into the waiting - and nervous - hands of Aaron Redmond off Iain O'Brien (2-23), ending a 40-run stand.
If O'Brien was happy with nabbing Ponting, he was ecstatic four balls later when Hussey was controversially given out caught behind by umpire Rudi Koertzen to make it 3-40.
Usually a cool customer, a riled Hussey asked "how was that out" to Koertzen as he trudged to the pavilion.
Replays explained Hussey's frustration - the ball appeared to brush his pad and not his bat on the way to wicketkeeper Brendon McCullum's gloves.
And the Kiwis were flying after Redmond's direct hit ran out first innings hero Michael Clarke (9) and reduced Australia to 4-53.
After breaking a stubborn stand by Symonds, Martin compounded Australia's problems by trapping Shane Watson (5) in front and suddenly the hosts were 6-115.
Replying to Australia's first-innings 214, the Black Caps were dismissed for their 156 midway through day two in just 50 overs.
Ross Taylor top-scored with 40 while Daniel Flynn was stranded on 39 not out after the tourists lost their last four wickets for 13 runs.
After Watson (2-35) and Brett Lee (2-38) had made inroads into the NZ middle-order after lunch, Johnson cleaned up most of the tail with three wickets in six balls.
The Queensland left-armer took wickets with consecutive deliveries when he had Tim Southee caught at point off the last ball of his seventh over and then had O'Brien edging to third slip with the first ball of his eighth.
He narrowly missed a hat-trick when batting bunny Martin played and missed at a short ball over off-stump.
Stuart Clark (2-46) administered last rites in the next over when he bowled Martin.
While Johnson was denied his first five-wicket haul, Lee also missed a chance to become the fourth Australian bowler to reach the 300-wicket milestone.
Lee notched his 299th when he had Taylor leg before in the first over after lunch.