City started as though they had a point to prove after last weekend’s demoralising loss to Leicester.
Perhaps sensing Leeds would come out of the blocks flying, City began by keeping the ball almost exclusively for the first 20 minutes.
Crisp passing and movement, the hosts looked bewildered as they chased shadows, unable to live with the fluidity and pressing.
With only three minutes played, City were a coat of paint form going ahead as Kevin De Bruyne spotted 20 year-old keeper Illan Meslier anticipating a cross into the box from the left and instead struck the free-kick towards the near post, but the ball struck the woodwork.
It was an audacious effort that deserved better, but Leeds survived.
The respite didn’t last long, however, with City taking the lead two minutes later as Torres fed Sterling on the left of the box and the England forward jinked inside two challenges before burying a low drive into the bottom corner of the net.
Leeds were clinging on at times, but they weathered the worst of the storm and gradually began to threaten the City rear-guard.
On 37 minutes, Leeds almost equalised when a smart passing move saw the overlapping Stuart Dallas denied by a good Ederson save.
Marcelo Bielsa’s renowned tactical nous was evident after the restart with a few telling tweaks to their formation quickly paying dividends.
Eventually, the much-improved hosts levelled just pas the hour as a corner came in and mistimed his punch and the ball fell to Rodrigo – Leeds’ Rodrigo – and he tapped into the empty net from a yard or so out.
The Brazilian more than made up for his mistake on 70 minutes with a stunning fingertip save onto the crossbar from Liam Cooper’s powerful header.
City bossed the final 20 minutes or so but Leeds repelled attack after attack to hold our for a point.