Year of Good Citizen Service
Farfan had a hand in all three goals for the home side while Raul scored the first two and Klaas-Jan Huntelaar added his 24th goal of the league campaign to cap the win.
The result helped to take Schalke five points clear of fourth-placed Borussia Monchengladbach and just one more win away from guaranteeing a top-four finish.
Hannover, who like Schalke were knocked out of the Europa League on Thursday, remain in seventh position with five games of the season remaining.
Elsewhere, Hamburg and Bayer Leverkusen played out a 1-1 draw at the HSH Nordbank Arena, a result that does little to help the cause of either side.