His No.5 Ferrari crossed the finish line 3.751 seconds ahead of Fernando Alonso.
"The wind conditions (were) a little bit tricky but the day was superb," Schumacher said.
It was his second win of the season and 86th of his Formula One career. He won the Gran Premio Foster's di San Marino race at Imola, Italy, on April 23.
Despite two consecutive wins by Schumacher, Alonso continues to lead the series in points with 44. Schumacher has 31, Raikkonen has 23, Giancarlo Fisichella (Renault) has 18 points, and Montoya and Massa are tied for fifth with 15.