Rory McIlroy trailed Phil Mickelson and Vijay Singh by one shot entering the final round, but shot a three-under 33 on the front nine to take the lead.