Miami Fire Rescue Lt. Pete Sanchez said they received multiple calls around 10:30 a.m. about the explosion and fire on the boat that was about 300 yards from the marina.
"I was driving from [Interstate] 95 and I could see the columns of smoke at that distance, so it was a rather intense explosion," Sanchez said.
Sanchez said the owner told rescue workers that the 34-foot boat had broken down and he was trying to get it to restart when there was an explosion.
The explosion threw the man and his son off the boat and into the water.
The son was brought to a local hospital by his mother, while fire rescue transported the man to Jackson Memorial Hospital's Ryder Trauma Center to be treated for burns, Sanchez said.
"Miraculously, they're both in stable condition," Sanchez said.
City of Miami and Miami-Dade County fire rescue crews responded to the scene and were able to extinguish the fire, but Sanchez said the boat was "extensively damaged."