A passenger bus has crashed into an oil tanker on a highway in eastern Pakistan, bursting into flames and killing at least 20 people.

Police said the accident happened near the town of Jalalpur Peerwala in Punjab province early on Tuesday morning.

The bus was travelling from the eastern city of Lahore to the southern port city of Karachi.

The driver, who was also killed, slammed into the back of the tanker, according to local officials.

The injured were taken to hospital and at least six passengers were reported to be in a critical condition.

Prime Minister Shahbaz Sharif offered his condolences in a statement.