Police said the rockets had landed in open areas, without causing damage or injury. The Israeli military said they were fired from Sinai in Egypt.
Warning sirens went off just before the rockets hit. The city's airport has been closed and security tightened.
Eilat, a popular tourist destination on the Red Sea, has previously been hit by rockets fired by militants in neighbouring Egypt and Jordan.
The Egyptian military said it was investigating the incident.
Hours after the attack, a small militant Salafi group, the Mujahedeen Shura Council, said it had fired two Grad rockets at "occupied Eilat", in a statement carried on jihadist websites.
About 50,000 people live in Eilat, and tens of thousands of holidaymakers visit every year.
The Israeli military said an Iron Dome anti-rocket battery - designed to intercept short-range missiles - which was positioned near Eilat earlier this month was not deployed in the latest attack.
There were several rocket attacks on the city last year, though no injuries were caused.
Most of the rockets were fired from Sinai, which has become increasingly lawless since the revolution which toppled former Egyptian President Hosni Mubarak in 2011.
Islamic militant groups have grown in strength there and have used it as a base from which to target Israel across the lengthy shared border.
At least two rockets have hit the southern Israeli city of Eilat.