A gun was fired and a baseball bat used during a five-person brawl in Kingston overnight.

The fight broke out at a house on Mawarra Street just before 1am on Sunday.

A 23-year-old Kingston man is in hospital with serious head injuries after allegedly being hit with the bat, police said.

Also taken to hospital were a 34-year-old Beenleigh man with head injuries and a 24-year-old Eagleby man with a wounded abdomen,

A police spokeswoman said it was believed the Kingston man had the gun and the bat, but was overpowered in a struggle.