On March 30, 2010, Robertson was traded to the Florida Marlins for minor league pitcher Jay Voss and cash considerations. He was designated for assignment on July 21. One week later he was released.
Robertson signed a minor league contract with the St. Louis Cardinals on August 2, 2010, and was assigned to the Triple-A Memphis Redbirds. Robertson exercised an opt-out clause on August 23, and signed a minor league contract with the Philadelphia Phillies on August 24, 2010, reporting to Triple-A Lehigh Valley. On September 9, 2010, Robertson was designated for assignment by the Phillies, a day after giving up 5 runs in 2/3 innings against the Marlins and nearly blowing a 10 run lead.