Flanagan grew up in Marblehead, Massachusetts. She attended Marblehead High School, where she excelled in cross country and track. She also participated in soccer and swimming, and was a talented artist and painter in the art major program. Her Marblehead HS accomplishments included three-time All-State cross country performances, a first-place All-State finish in the mile, and a two-mile win whose record still stands; her 4:46 mile won the Indoor National Scholastic Championships. She attended the University of North Carolina-Chapel Hill, where she won national cross country titles in 2002 and 2003 — becoming the first individual champion in the sport in Tar Heel history — and numerous track accolades, with best times of 4:11.24 in 1500 m (7th in the US at any level in 2003,) 9:00.22 in the 3000 m, and 15:20.54 in the 5000 m.
Since advancing to the professional level in 2004, she has lowered her 3000 meter time to 8:33.25 and her 5000 meter time to 14:44.80, the latter an American record; her 1500m record has slightly improved to 4:05.86. She is a two-time national champion in the women's 5000 meters.
At the 2008 Summer Olympic Trials held in Eugene, Oregon Flanagan competed in both the 5000m and 10000m. She won the 10000 m final in a time of 31:34.81. This guaranteed her a spot on Team USA for 2008 Olympic Games. Flanagan also finished third in the 5000 m final with a time of 15:02.81.
On August 16, 2008, Flanagan finished 3rd in the 2008 Olympic Womens 10000m Finals in Beijing, capturing the Bronze medal. She also set a new American record in 30:22.22, shattering her own American record set earlier in the year. She is only the second American woman to receive an Olympic medal in the 10,000 m.