Derby County 1 Fulham 1
Marcus Tudgay fired the Championship side into a 56th minute lead but Fulham hit back with John scoring a minute after coming on for Tomasz Radzinski.
Fulham then looked favourites to go on and win the tie but the Rams went closest to scoring the winner when Tudgay was denied by the legs of Edwin Van der Sar.
In the end a draw was about right although Derby will be disappointed with the defending that allowed John to set up a replay.
All the excitement came in the second half following a low key and subdued opening 45 minutes.
Derby shaded the first period but didn't create a clear opening despite some dangerous runs from Marco Reich down the Fulham right. The German almost found the head of Grzegorz Rasiak with a cross in the 18th minute that Van der Sar was happy to push behind for a corner.
It was Reich who had Fulham at full stretch with another good ball that saw Tommy Smith drive a low shot against a defender.
Fulham responded by pushing Derby back and it was no surprise when Mark Pembridge knocked the ball through to John who beat Lee Camp from eight yards.
The striker was booked for removing his shirt as he celebrated in front of the Fulham fans but Derby almost regained the lead when Tom Huddlestone found Tudgay with a cross-field pass and the striker's low shot bounced to safety off the legs of Van der Sar.
But despite all Derby's crossing, Fulham had the best chance when Sylvain Legwinski shot wide under pressure form Tom Huddlestone in the 26th minute.
The game opened up after the break with Derby bringing on Tudgay for Reich and the substitute headed over when Smith crossed from the right in the 51st minute.
But Fulham was starting to show their quality on the ball and former Derby midfielder Pembridge was only just wide with a low 15-yard shot after Luis Boa Morte had broken down the Derby right.
But it was the home side who struck first with a well-worked goal that started with Rasiak finding Smith. His low cross from the right was met by Tudgay on the right-hand edge of the six-yard area and his shot found the bottom right corner of the net.
MAN OF THE MATCH: Pablo Mills (Derby) - The young defender had an excellent game, making a number of well-timed tackles and being solid throughout.