"I don't know how it looked but it felt special, it felt strong". Bottas, who started alongside his team-mate in an all Mercedes front row, lost out to Ferrari's Sebastian Vettel at the start. Grosjean was punished with a three-place grid penalty for the next round in Monaco.
"Anybody who has a win wants to do it that way", he added of the team's first one-two of the season.
Verstappen was running fourth when he clipped his front wing on a Williams under the virtual safety auto, but the damage was not significant and he didn't have to make an extra stop.
That decision - coupled with a lengthy 5.5s stop - allowed both Valtteri Bottas and Max Verstappen to pass the four-time world champion, and Hamilton insisted Ferrari made a "mistake" with their strategy.
To finish a sorry afternoon for Ferrari, his teammate Kimi Raikkonen was pressured to retire, leaving Mercedes to take the lead within the constructors' championship with a 27-point benefit.
But Mercedes, who pitted some 10 laps earlier than the two Red Bulls, managed their tyres to the finish, while Vettel's hopes were futher dashed by his own slow second stop under the virtual safety vehicle.
The team principal, Toto Wolff, stressed the importance of the race for Hamilton. It was an opportunity for anyone to pit, but only Sebastian Vettel took a chance, and when the Ferrari driver came out, he came too far from the top three, only coming close at the end but just missing out on taking third place from Verstappen.
Hamilton himself pitted after lap 25, for medium tires.
Just the #912 Porsche and #4 AMG remained on the leading lap, and the pair battled with iron wills through rain and traffic for an hour before the 911 could eek out a 20-second lead in the final 30-minutes.
Ocon's bad luck continued with smoke spouting from his tailpipe on lap 41, speculated by SkySports commentators to be a hydraulic failure.
Vettel defended the decision to pit for a second time behind a virtual safety auto, insisting staying out "was not an option". Daniel Ricciardo was second and Max Verstappen third. Ricciardo was eventually called in on lap 34, with Verstappen pitting a lap later. The circuit still caught several drivers out throughout the race, with Williams rookie Sergey Sirotkin spinning out after a long period of driving slowly at VSC pace. McLaren's Stoffel Vandoorne also retired because of a auto failure, as did Esteban Ocon with Force India. Azerbaijan Grand Prix star Charles Leclerc kept his name in the points-paying positions by rounding off the top ten for Sauber.
It was the first race since the opening event in Australia in which Mercedes were not on the back foot in the face of a faster Ferrari.
Power used soft tyres to his advantage to hold the lead, while Kiwi Scott Dixon pounced on Wickens late in the piece to claim an unexpected second-place finish.