The Silver Arrow drivers picked up Mercedes’ 59th front-row lockout for the race that sees F1 celebrate its 1,000th grand prix.
Valtteri Bottas edged out Lewis Hamilton during the first runs in Q3, although the team-mates were evenly matched during their second laps.
However, Hamilton could not to snatch pole from the Finn, who secured his seventh career pole by less than a tenth of a second.
Despite looking in strong form throughout the weekend, Ferrari were unable to match the pace of their Mercedes rivals in qualifying, with Sebastian Vettel three tenths away from the German team.
Like Mercedes, the Italian team saw their drivers closely matched on times, with Charles Leclerc fractionally slower than Vettel in fourth.
Red Bull hampered on second Q3 runs
Ferrari had jumped ahead of Max Verstappen on their final runs, leaving the Red Bull driver fifth fastest at the end of the session.
However, the Dutchman had failed to cross the line before the chequered flag fell, meaning he could not complete a second lap.
This was due to traffic, with Vettel passing him to ensure he could start his second run in time.
It also affected fellow Red Bull driver Pierre Gasly, who went sixth fastest after also failing to beat the chequered flag.
Renault impress, McLaren struggle
Renault secured their best result in qualifying so far in 2019, with Daniel Ricciardo going best of the rest in seventh and Nico Hulkenberg just behind in eighth.
It is the first the time French team have made it into Q3 this season and qualified ahead of both Haas drivers, who rounded off the top 10.
Daniil Kvyat finished 11th fastest, although had shown pace to get into Q3 after going seventh quickest on his first run in Q2.
However, the Russian failed to improve his time and fell into the elimination zone, finishing ahead of Sergio Perez and Kimi Raikkonen behind.
After an impressive performance in Bahrain, McLaren struggled to emulate their pace in China, with Carlos Sainz finishing 14th fastest and Lando Norris behind in 15th.
Williams continued to struggle for pace after both drivers were eliminated in Q1, with Alexander Albon absent from setting a time.
The Toro Rosso driver suffered a crash in FP3, meaning his car was too damaged to take part in qualifying.