Schumacher captured his fourth victory in five grand prixs this year, taking the checkered flag in a backup car by 35.6 seconds over Colombian Juan Montoya in a Williams BMW.
The four-time world champion used a backup car after his 2002 Ferrari broke down with a hydraulic problem during morning practice. He led wire-to-wire, recorded his fourth career victory in Spain and 57th of his career.
David Coulthard of Scotland grabbed his second podium finish of the season in third place for McLaren Mercedes, 42.6 seconds behind Schumacher.
Sauber Petronas teammates Nick Heidfeld of Germany and Filipe Massa of Brazil were fourth and fifth, respectively.
Germany's Heinz-Harald Frentzen picked up his first point of the season, finishing sixth for Arrows Cosworth.
Schumacher leads the championship with 44 points, nearly twice as many as Montoya (23). Ralf Schumacher, who retired with two laps to run, is third with 20 points. Coulthard is a distant fourth with eight points.
Ralf Schumacher's car suffered some damage on lap 29 when a part of his front board came off and found its way into his cockpit. He threw the piece away and could never mound a serious challenge thereafter. He was classified 11th.
The race began with some drama as Brazilian Rubens Barrichello's Ferrari stalled on the formation lap with a gear problem and could not get it going again. He returned to the garage with his fourth DNF of the year.
Montoya had a bit of an event on a lap 45 pit stop when he ran over the left foot of chief mechanic and signal man Karl Gaden. Gaden signalled Montoya he could exit the pit, but the refueller was not out of the car. Montoya stopped, but not before he already was on the ankle of Gaden who suffered a bruise.
Jacques Villeneuve of Canada missed out on a points finish for BAR Honda in seventh place. Toyota drivers Allan McNish and Mika Salo were the only other drivers to run at the finish.
Next on the schedule is the Austrian Grand Prix on May 12.