It follows the government's initial "letter of intent" signed with the University of Oxford/AstraZeneca, and talks with the University of Queensland/CSL.
Labor was critical of the earlier promises by the government, saying they did not amount to a fully-fledged agreement that Australians could rely on.
Some 84.8 million vaccine doses would be manufactured, primarily in Melbourne by CSL, which plans to produce 51 million doses of a UQ vaccine and 33.8 million doses of an Oxford vaccine under a heads of agreement signed with the government.
"By securing the production and supply agreements, Australians will be among the first in the world to receive a safe and effective vaccine, should it pass late-stage testing," Mr Morrison said.
"There are no guarantees that these vaccines will prove successful. However, the agreement puts Australia at the top of the queue, if our medical experts give the vaccines the green light."
CSL said the number of vaccines ordered by the government is based on a two-dose per person regime.
The first stage of the agreement would see 3.8 million doses of the University of Oxford vaccine delivered in January and February 2021.
Health Minister Greg Hunt said it would not be mandatory but the government wanted to see as broad coverage of the population as possible.
Both agreements will also allow for doses to be provided to Australia's partner countries in the Pacific and Southeast Asia.
The University of Oxford/AstraZeneca vaccine is in the third phase of trials and is considered one of the best hopes in the world, with regulatory approval expected to be sought shortly.
UQ has recently announced that pre-clinical testing showed the vaccine is promising and already effective in animal models.
Experts believe the vaccination of at least two-thirds of the population will be required to have a chance of halting the spread of COVID-19.
People in Australia must stay at least 1.5 metres away from others. Check your state’s restrictions on gathering limits.
If you are experiencing cold or flu symptoms, stay home and arrange a test by calling your doctor or contact the Coronavirus Health Information Hotline on 1800 020 080. News and information is available in 63 languages at https://sbs.com.au/coronavirus