The crash happened early on Monday in the city of Bareilly, 251km (155 miles) from the state capital, Lucknow.
A senior police official said all 22 victims had been charred badly and could not be immediately identified.
The passenger bus had caught fire following the collision. Police are searching for the driver of the truck.
The AFP news agency quoted police as saying the doors of the bus jammed after the collision, trapping passengers inside.
A few people managed to escape by breaking open the windows of the vehicle.
The chief spokesman of the Uttar Pradesh police, Rahul Srivastav, said the bus was carrying 41 passengers, and that those who were injured had been rushed to hospital.
The condition of many of them is said to be serious, and officials warn that the toll is likely to rise.
India has the world's highest number of road deaths, with an accident taking place every four minutes.
Most crashes are blamed on reckless driving, poorly maintained roads and ageing vehicles.
At least 22 people have been killed after a bus they were travelling in collided with a truck in the northern Indian state of Uttar Pradesh.