© PA Photos
Both sides had chances near the start of the game, with Matthew Etherington forcing an early save from Schwarzer before Berbatov volleyed the ball high for Fulham.
It looked like the first half would end goalless following some scrappy play from both teams, but a powerful volley from the Bulgarian deep in stoppage time blasted past Asmir Begovic to give the hosts a lead.
© AP Photos
The Fulham keeper was called upon again in the 54th minute when the visitors were awarded a penalty after Ashkan Dejagah blocked Brek Shea's cross with his hand.
Jonathan Walters stepped up to take the spot kick, but Schwarzer guessed which way he was going and managed to gather the ball.
© AP Photos
Fulham went on the counter-attack, and almost set Berbatov up for his second, but his shot from around 12 yards out was just saved by Begovic.
As the Potters looked to level the scores late in the game, Giorgios Karagounis had an effort from 20 yards, but his strike went just high of the crossbar.
A corner in the final seconds of stoppage time gave the visitors late hope, but Schwarzer punched the ball away, securing the win for Fulham.
The victory moves Fulham up to 11th in the table, just one place behind their opponents.