A Melbourne man is facing 28 charges after a pregnant woman was punched in the stomach and face during a road rage incident in Melbourne's north.

Police allege a 37-year-old Tullamarine man drove across four lanes of traffic at an intersection on Camp Road in Broadmeadows at 10:30pm (AEDT) on Tuesday and hit an oncoming car driven by the woman.

The 27-year-old from Broadmeadows, who is heavily pregnant, and a male passenger suffered minor injuries in the crash.

When they got out of the car, the driver of the other vehicle allegedly attacked the woman and had to be restrained by witnesses until police arrived.

The man also allegedly punched a police officer and had to be subdued with capsicum spray.

The woman was taken to Royal Melbourne Hospital.

The police officer was released from hospital after being treated for facial injuries.

The man has been charged with 28 offences, including reckless conduct endangering persons, intentionally causing injury and other assault and traffic charges.