Most of the victims were in a minibus that was rammed by another one that tried to overtake it on the road between the town of Arusha and Moshi further east on Tuesday.
"Witnesses have said fog and high-speed driving may have caused the crash," Regional Police Commander James Kombe said.
All 16 passengers in one minibus and at least four in the other died on the spot.
Dozens of Arusha residents rushed to Mount Meru hospital, fearing some of their relatives could have been in one of the two vehicles.
Police were sent to the hospital to control a frantic crowd.
Minibus taxis are an affordable mode of transport across east Africa. Fatal crashes are common and usually blamed on speeding and poorly maintained vehicles.