The Serbian striker notched his second goal of the game to make it four successive wins for the Cottagers, who move up to third in the Sky Bet Championship table.
It is just a third defeat in 21 games for Preston, who drop to four points off the play-off places.
The Lilywhites started the game brightly with two openings in the first five minutes.
A mistake from Denis Odoi allowed Sean Maguire to break in behind, but the forward misplaced his cross before Callum Robinson hit the target from the edge of the area after four minutes.
Marcus Bettinelli was forced into more serious action after 13 minutes as Preston full-back Darnell Fisher unleashed a powerful drive from 18 yards which was safely tipped round the post by the Fulham keeper.
Fulham missed a golden chance to take the lead with their first real attack after 18 minutes as Stefan Johansen broke in behind and squared for Mitrovic, but he could not find the open goal from six yards.
Slavisa Jokanovic’s side threatened again two minutes later as a fierce strike from Matt Targett was well held by Declan Rudd.
In an even first half, Fulham were showing more quality going forward and were almost ahead after 32 minutes when Ryan Fredericks flashed a ball across the six-yard box which just evaded the sliding Ryan Sessegnon at the far post.
Maguire, who has notched the winner for Preston in his last two matches after spending four months out, had a chance for Preston after 41 minutes but was denied by Bettinelli in a one-on-one.
Preston had keeper Rudd to thank for keeping the scores level just after the break as he leaped to his left to tip Floyd Ayite’s 25-yard strike over the bar.
But, after a chanceless period, it was Fulham who broke the deadlock after 69 minutes.
Cyrus Christie was brought on at full-back and two minutes later he crossed from the right for Mitrovic, who fired in right-footed from 12 yards.
Davies came close to an equaliser after 75 minutes, but his effort from eight yards was superbly pushed away by Bettinelli low to his right.
But the Fulham keeper was not so impressive a minute later. Ben Pearson picked out Maguire six yards out and his header was fumbled into the back of his net by Bettinelli to give Preston the equaliser.
It was Fulham who took home all three points, though, as Cairney’s delightful lofted cross to the back post was nodded in by Mitrovic.