The Roman fleet formed up in an unusual formation that proved to be very effective. The fleet was divided into four squadrons. The first two, led by the consuls, formed two sides of a triangle, with the consuls ships at the front, and their squadrons arrayed away behind them. The third squadron formed the back line of the triangle, and the final squadron formed another line at the back. This gave the Roman fleet a very flexible structure. In contrast, the Carthaginian fleet was formed in a simple line. Their plan appears to have been to break up the compact Roman fleet and engage in a series of smaller engagements. To do this, the Carthaginian commander ordered his centre to pull back, drawing the first and second Roman squadrons forward. Meanwhile, his left wing attacked the Roman third squadron, and his right the final, fourth Roman force. However, the Carthaginians had still not worked out a response to the corvus, and seem to have done much worse in individual combats than the Romans.
The Carthaginian plan resulted in three separate battles. The Roman third squadron was hard pressed until it was forced up against the coast, where the Carthaginians were unwilling to attack for fear of the corvus. The fourth squadron was also hard pressed. However, the deliberately weakened Carthaginian centre was defeated by the consul's squadrons. Regulus took every free ship back to aid the rest of the Roman fleet, inflicting a crushing defeat on the Punic fleet. They lost close to one hundred ships, mostly captured, and inflicted very little damage on the Roman fleet. The Roman victory left them free to attack Africa, and came close to ending the war.