Kettering Town 2 Fulham 4
But Johnson then fired Roy Hodgson's side ahead for a third time and, only 60 seconds later, substitute Zamora added a fourth as Fulham finally secured their place in the last 16 of the competition.
Kettering started very brightly and had an early half-chance when the usually reliable Brede Hangeland's back header caused some consternation in the visitors defence.
However, the Premier League side weathered the storm and took the lead in the 12th minute when Clint Dempsey's cross was expertly volleyed home by Simon Davies.
Mark Cooper's side refused to be downhearted though and deservedly equalised for a first time nine minutes before the interval, when Westcarr's deflected free-kick beat Mark Schwarzer in the Cottagers goal.
Kettering looked the likelier side to take the lead in the early stages of the second period with Gareth Seddon, John Dempster and Richard Graham all going close.
Against the run of play Fulham regained the advantage in the 77th minute when Danny Murphy's shot flew into the net after taking a deflection off the unfortunate Exodus Geohaghon.
Kettering responded immediately with Westcarr appearing to have earned his side a replay when he netted from the penalty spot.
However, Johnson headed home in the 88th minute after defensive hesitation, before Zamora finally ended Kettering's hopes with a fourth goal.