However, half time substitute Jon Walters was pushed over by Ledley King inside the box in the 61st minute and Stuart Green sent Paul Robinson the wrong way with the penalty.
Defoe got his second 12 minutes from time after going on an unstoppable run and finishing past substitute 'keeper Matt Duke.
But the Tigers fought back to get an injury team equaliser. The visitors failed to clear a corner and Stuart Elliott lashed the ball past Robinson to delight the 13,316 KC Stadium crowd.
City line-up (4-4-2): Myhill (Duke 45); Thelwell (Hinds 45), Joseph (Wiseman 80), Delaney, Dawson; Green, Ashbee, Lewis (France 45), Barmby (Facey 64); Allsopp (Walters 45), Wilbraham (Elliott 45).
Un-used sub: Price.