The U.S. Geological Survey said the quake struck at 9:25 a.m. local time in Fars province, about 60 miles northwest of the provincial capital of Shiraz.
The relatively shallow depth of only about 6 miles was responsible for the extent of the damage, according to seismologists.
Just over two weeks earlier, a somewhat stronger quake in southeast Iran killed at least 11 people and caused damage in more than 40 villages of Kerman province.
Iran is situated on several major faults and is prone to frequent earthquakes.
A 6.3 magnitude quake in December 2003 killed about 31,000 people in the southern city of Bam.