Manolo Vidal, a spokesman for Naviera Armas, the company that owns the ferry, said a "loss of electrical power" caused the accident Friday night as the boat was leaving the port of Puerta de la Luz on the island of Gran Canaria.
Emergency services said five of the injured had to be hospitalized.
Televised images showed the ferry hitting the breakwater head-on, sending chunks of its concrete wall tumbling down onto a service road.
The regional government says it has activated an emergency plan to deal with the 3-kilometer (two-mile) fuel spill caused when the boat's impact damaged fuel lines running along the breakwater.
The company says the ferry was able to dock following the accident and that uninjured passengers had been placed in hotels.
Report a typo to the ABC13 staff