Eleven staffers from the US embassy in Islamabad were having an evening meal in the hotel, the official said, when the blast occurred around 9:35pm (1735 GMT) on Thursday.
Glass and other debris were blown out through the front of the hotel and the lobby, witnesses said.
"It was a big explosion and several people are injured. It occurred inside the hotel," the employee said.
A police spokesman confirmed there was an explosion but said he did not immediately know the cause of the blast or the extent of damage.
Some hotel staff said they thought it might have been caused by an electrical fault.
Blood could be seen on the ground and at least one man was carried out on a stretcher, but he was still alive.
After the blast, police moved people out of the lobby because of a suspicious bag.
The Marriott hotel is one of the most popular in Islamabad for foreign media and business personnel.