The schools which will be upgraded are Applegrove in Forres, Millbank in Buckie, Seafield in Elgin and St Gerardine in Lossiemouth.
Refurbishment will include new roof coverings, windows and doors, new toilets and modernised heating and electrical systems.
Work will begin in the summer break, with completion slated for spring 2017.
The programme is being funded by a £10m government grant, with the rest being provided by Moray Council.
The work will be carried out by Galliford Try, the parent company of Morrison Construction, which recently undertook the £1.2m refurbishment work on the Elgin Town Hall and the construction of Moray's flood alleviation schemes.
Moray Council has awarded a £17m contract for the refurbishment of four primary schools.