The Cottagers came from behind twice to beat the Tykes in a hugely entertaining game at Oakwell.
Barnsley took the lead through Marley Watkins before Lucas Piazon equalised for the visitors. But the hosts reclaimed their advantage when Sam Winnall struck home with minutes left to play in the first half.
Sone Aluko levelled the scores again on the stroke of half time but Fulham claimed all three points thanks to second half goals from Scott Malone and Chris Martin, while Josh Scowen was sent off for the hosts.
Rovers remain in the relegation zone after a dour draw with the Tractor Boys at Ewood Park.