The transfer of the 20-year-old England winger is subject to contract negotiations and a medical.
Sterling had asked to leave Anfield and was the subject of two bids from City in June, which were rejected.
The forward, who will become the most expensive English player ever, is under contract until 2017, but turned down a new £100,000-a-week deal at Liverpool.
Sterling was signed by Liverpool as a 15-year-old from QPR in February 2010 and the Loftus Road club will receive 20% of any fee the Reds get for the forward.