BAM will carry out the work, the first phase of which is due for completion in 2019.
A half-hourly commuter service between Aberdeen and Inverurie will be introduced, along with additional peak services between Inverness and Elgin.
Infrastructure will be installed to allow new stations to be built at Dalcross and Kintore.
Engineers will also double-track 16 miles of line between Aberdeen and Inverurie, build a new station and straighten the railway alignment at Forres, extend platforms at Insch and Elgin to accommodate longer trains, and upgrade signalling systems along the route.
Infrastructure Secretary Keith Brown said: "This project is especially valuable for the region for, as well as the clear benefits to passengers and freight users, it will also support jobs and growth, providing an economic boost to the cities and communities along the entire length of the route."
The principal contractor for the £170m upgrade of the Aberdeen to Inverness rail line has been appointed.