Israeli tanks quickly retaliated by opening fire across the border, killing a 50-year-old man and wounding seven other people, Palestinian medics said.
The sudden outbreak of violence illustrated the fragile situation along the Israel-Gaza border, where small bouts of violence can quickly escalate into heavy-scale warfare.
Israel’s defence minister, Ehud Barak, ordered the army to respond quickly and said he held the Hamas militant group responsible for the violence. There was no claim of responsibility for the attack.
Israeli medical services said the bus was nearly empty after dropping off schoolchildren and was carrying only the driver and a lone passenger at the time of the attack. Paramedics were trying to resuscitate a 16-year-old boy with a serious head wound at the scene. The driver was moderately wounded.
TV footage showed a yellow bus with its windows blown out and its rear end charred.
After a two-year lull, tensions have been rising between Israel and Palestinian militants in Gaza over the past few weeks.
Palestinian officials reported tank fire towards Gaza shortly after the missile attack. The Israeli fire killed a 50-year-old man and wounded seven people, said Palestinian health official Adham Abu Salmiya.
Israel responds with tough reprisals to Palestinian attacks. It also launched an air strike on a Hamas facility in northern Gaza.
The missile attack came hours after Israel carried out a series of air strikes against tunnels used by smugglers.
Meanwhile, Palestinians in a West Bank town said Israeli troops have rounded up 200 women as part of a search for the killer of five Israelis in a nearby settlement last month. Kais Awwad, the mayor of Awarta, says the women were taken into custody overnight and DNA samples were taken from their mouths.