The London club strengthened their bid to finish in the top two and be automatically promoted thanks to first-half goals from Neeskens Kebano and Harry Wilson at Craven Cottage.
Bournemouth held on to the play-off places as they missed out on a chance to go second when Preston picked up a late winner in a 2–1 victory at Deepdale.
Emil Riis scored in the 89th minute, shortly after Daniel Iversen made a great save from Bournemouth’s Nat Phillips at the other end of the pitch.
In the commotion that followed Riis’s goal, Bournemouth had both manager Scott Parker and defender Adam Smith, on the touchline after being substituted, showing red cards.
Earlier, Jamal Lowe had put Bournemouth ahead five minutes into the second half before Cameron Archer equalized shortly after.
Steve Bruce enjoyed his first win as West Brom manager in his sixth time calling thanks to a 2-0 win over former club Hull.
Karlan Grant scored both goals, breaking the tie in the 17th minute before doubling the lead from the penalty spot early in the second half.
Bottom of the table, Derby kept up their bid to escape relegation with a 2–0 victory over teammates Barnsley.
Derby, managed by former Manchester United and England striker Wayne Rooney, looked destined for downfall after having 21 points docked for going into administration and breaching the league’s financial rules.
But, with Ravel Morrison scoring twice on Saturday, the Rams, two-time English champions in the 1970s, are now just five points from safety.
It was the first time Morrison, a former Manchester United and West Ham midfielder, had scored in an English league game since 2014.
Reading were left looking over their shoulders at the bottom three after a 1-0 loss at home to Millwall.
Jake Cooper scored as the Lions enjoyed a fifth straight win that bolstered their playoff hopes.
Swansea won 3-1 at home to Coventry, with Michael Obafemi on target twice, while Tahith Chong, on loan from Manchester United, scored his first goal in English football as Birmingham beat Bristol City 2-1.