Two elderly men and a toddler died in three separate car collisions less than seven hours apart on Tuesday, marking a horror day on Sydney's roads.

The first fatal collision occurred in Leichhardt, in Sydney's inner west, about 2.50pm. An 81-year-old man was crossing Marion Street when he was hit by a Toyota Corolla heading east, police said.

The man was treated by paramedics before being taken to Royal Prince Alfred Hospital in a critical condition. He later died there.

The driver, a 58-year-old man, was taken to Royal Prince Alfred Hospital for mandatory blood and urine testing.