The Portuguese striker bagged a brace in a 2-2 draw on Saturday, and struck once more to earn Rovers a deserved share of the points in the capital.
Play-off chasing Fulham enjoyed the better of the play in the opening 45, and went in front on the stroke of half-time when Sone Aluko lashed home Stefan Johansen's centre.
But Rovers were imperious in the second period, getting back on level terms from the penalty spot through Craig Conway after Marven Emnes had fouled.
However the Cottagers regained the lead four minutes from time in contentious circumstances as Connor Mahoney was pulled back on half way before Ryan Fredericks crossed for sub Gohi Cyriac to score.
Rovers pressed until the death and got their reward four minutes into stoppage time when super-sub Joao arrived at the back post to touch home Derrick Williams' centre.
The point sees Rovers stretch their unbeaten run and takes them back out of the bottom three.
Rovers un-nerved their opponents early on, seeing plenty of the ball and pushing Fulham back, Marvin Emnes getting a sight of goal inside five minutes but his effort was blocked.
But as the half wore on it was the hosts who grew more into the match. Rovers needing Danny Graham to show good awareness defensively to prevent Aluko from hooking the ball home after Tim Ream headed a corner back across goal.
The visitors then threatened from their own set-play as Elliott Bennett picked out Darragh Lenihan in the box but the Irishman couldn't keep his header down.
Both sides then had efforts on target in the 24th minute. Steele raced off his line to deny Aluko once more, before Rovers countered quickly with a Bennett cross dropping nicely for Craig Conway who struck sweetly on the volley but the shot was beaten away by David Button in the Fulham goal.
But the Whites controlled the remainder of the half, putting Rovers under more and more pressure with their incessant speed in possession, and right on half-time they got the breakthrough their yearned.
A quick-fire counter saw the ball switched through the middle and out left to Stefan Johansen, the midfielder took a touch before finding Aluko with his centre and the forward swept the ball home.
Rovers had lived dangerously at times in the opening 45, but to concede so late in the half was disappointing.
Rovers were an outstretched boot away from getting back on level terms four minutes into the second half as a cleverly taken free-kick from Bennett bent low around the wall, but Graham just failed to get the vital touch to divert it into the net.
Tommie Hoban then made a key interception to prevent a dangerous cross from Ryan Sessegnon reaching Neeskens Kebano in front of goal, whilst Bennett continued to look lively for the visitors as he cut in to shoot right-footed, but it was easily claimed by Button.
Both teams made their first changes on the hour mark as Saturday's goal hero Lucas Joao replaced Danny Graham for Rovers, whilst the home side threw on further attacking threat as Chris Martin replaced full-back Scott Malone.
On 68 minutes Conway was released down the right in space, his cross to the back post picked out Joao but he couldn't find the target with his header.
Rovers then made their second change of the night as Connor Mahoney replaced Bennett, and it was his corner that gave Joao another chance but the forward could only head into the arms of the Fulham keeper.
The frustration grew further as Conway raced into the area to be upended by Ryan Fredericks, but inexplicably the referee waved play on.
Steele beat away a thunderous strike from Kebano in a rare attempt on goal from the home side in the second half, but it was Rovers who would get their reward for an excellent second half display moments later.
On 78 Joao slipped a ball through to Emnes who bore down on goal only to be brought down by Tomas Kalas. Thankfully on this occasion the referee did point to the spot.
Conway took the honours from 12-yards, blasting the ball high into the back of the net.
But whilst Rovers will have been pleased with the officiating that lead to them getting back on level terms, they'll have been far from impressed with a lack of a decision that allowed Fulham to retake the lead.
As Mahoney looked to take play upfield he was clearly pulled back by Sessegnon right on half-way. But as the side in red appealed the referee did nothing and Fulham raced down the opposite flank through Fredericks and his centre was lashed home by substitute Gohi Cyriac.
Rovers pressed and pressed in the closing stages, Conway fired over, Emnes shot wide, then a Mahoney corner should have seen a second equaliser but the ball flashed past both Lucas Joao and Derrick Williams.
But just when it looked like their efforts would be in vein, in the final minute of added time Williams cross and that man Joao was there again to divert the ball into the back of the net.
A point was no less than Rovers deserved, but had the men in black made the right decisions when it mattered, they could have been leaving Craven Cottage with all three points.
FULHAM: Button, Fredericks, Malone (sub Martin 60 mins), McDonald, Kebano (sub Odoi 88 mins), Cairney (c), Ream, Johansen (sub Cyriac 81 mins), Aluko, Kalas, Sessegnon.
Subs not used: Bettinelli (GK), Madl, Sigurdsson, Petsos.
Goals: Aluko 45 mins, Cyriac 86 mins.
Booked: Fredericks 49 mins, McDonald 62 mins
ROVERS: Steele, Nyambe, Lenihan, Hoban, Williams, Bennett (sub Mahoney 69 mins), Lowe (c), Guthrie, Conway (sub Feeney 89 mins), Emnes, Graham (sub Joao 60 mins).
Subs not used: Raya (GK), Akpan, Tomlinson, Brown.
Goals: Conway (pen) 79 mins, Joao 90+4 mins.
Booked: Guthrie 40 mins, Lenihan 63 mins, Emnes 83 mins, Joao 90+5 mins
Attendance: 15,487 (including 719 Rovers fans).