McKelway's first television news job was in Charlotte, North Carolina at WPCQ-TV (now WCNC-TV) from 1980 to 1982. He also worked in Kansas, Missouri and Florida, before returning to Washington. He was a reporter and news anchor with WRC-TV until October 2001, when he joined WJLA-TV.
On May 13, 2009, as co-host of Washington, DC's Let's Talk Live on local cable's TBD TV (Formerly News Channel 8), McKelway conducted a live interview with blogger Michael Rogers where they discussed Rogers' efforts to "out" secretly gay politicians who oppose gay rights. At one point, McKelway told Rogers, "I'd take you outside and give you a punch across the face... I think you're hurting innocent people."
In July 2010, McKelway provided live coverage for the noon newscast of a rally by religious and environmental groups that were protesting BP's response to the Gulf oil spill. McKelway made comments regarding BP's contributions to Democratic President Barack Obama. After the broadcast, McKelway met with WJLA Station Manager Bill Lord, who objected to the BP contribution facts being divulged in the live report, and following a heated exchange, McKelway was suspended from his reporting duties as well as anchoring the early-morning Good Morning, Washington news show. The Washington Post later reported on September 17, 2010, that McKelway had been dismissed. Since his firing he has been hired by Fox News Channel for which he is now a reporter.
During the Thanksgiving Holidays in 2013, McKelway substituted for Brett Baier on Fox News' Special Report, giving him exposure amongst the large early-evening Fox audience.