The utility truck carrying barbecue gas cylinders burned on busy Bourke Street just before the evening rush hour as the driver, who police said was 31, stabbed bystanders and attacked police.
Video from the scene showed a man swinging a knife at two police officers near a burning vehicle before he was shot.
Mr Ashton said when a marked police vehicle arrived at the scene, the attacker reached in and punched an officer through the window before pulling out the knife and engaging the officers.
The attacker is in hospital in a critical condition and investigators have not released any information about his identity. Hindustan Times, owned by HT Media Ltd, is one of India's largest publications that provides unbiased news, analysis and features on politics, sports, entertainment, lifestyle and more. The condition and injuries of the third person were not disclosed. The Islamic State group has claimed responsibility for an attack in Australia that police say was linked to terrorism.
In a later statement, police said the man assaulted police, fled on foot, then was shot while lunging at police with the knife. He sprung back into action and charged back towards the attacker, shoving the trolley back in his direction as police opened fire.
One person was killed in the attack and two others were injured.
As police officers reached the scene they were confronted by a knife-wielding man who tried to attack them.
The suspect died later at a hospital.
Victoria Police Chief Commissioner Graham Ashton said the man who stabbed three members of the public and attacked police officers has died in a hospital.
Two officers got out of the auto and attempted to engage him.
One witness said the driver got out of the auto and threw "something like a bomb" inside before it erupted into flames. "The area has been cordoned off and the public are urged to avoid the area". A bomb response unit team remains at the scene. The suspect approached a police vehicle and assaulted an officer by punching him through its window.
In a series of tweets, Daniel Andrews, the premier of Victoria state, called the incident "an act of terror struck the heart of our city, in a place where past wounds have still not healed".
The apparent attack came as a 28-year-old James Gargasoulas underwent trial in Melbourne for driving into a crowd in the same area in 2017, killing six people.