Keane cut inside to slide home his first in the 56th minute, three minutes after Joao Plata had given Real the lead, then turned the ball home acrobatically from the edge of the six-yard box to make it 2-1 in the 67th minute.
Omar Gonzalez added a third eight minutes later and Keane completed his hat-trick with a neat lob, before Robbie Findley pulled a second back for Real late on.
The Colorado Rapids took advantage of Real's defeat to move within two points of the leaders with a 2-0 win over the Vancouver Whitecaps.
Deshorn Brown opened the scoring in the 36th minute, with Edson Buddle securing the points in the 79th minute, just seconds after coming off the bench.
The Portland Timbers also kept up the pressure on Real with a 2-1 win over FC Dallas.
The Timbers got goals from Ryan Johnson (26) and, after Mauro Diaz had levelled two minutes later, Darlington Nagbe (33).
The New York Red Bulls and the Philadelphia Union could not take advantage of Sporting Kansas City's inactivity as they drew 0-0 to remain second and third in the Eastern Conference respectively.
Instead it was the Montreal Impact who put the pressure on, beating DC United 2-1 with a double from Marco Di Vaio.
The Italian's second came in the 83rd minute, two minutes after Conor Doyle had levelled for DC.
Giles Barnes scored a first-half double as the Houston Dynamo beat the Seattle Sounders 3-1.
Will Bruin (74) also scored for Houston after Shalrie Joseph (65) had pulled one back for Seattle.
Federico Higuain scored both of the Columbus Crew's goals in a 2-0 win over Toronto FC, while strikes from Juan Agudelo and Kelyn Rowe saw the New England Revolution beat the Chicago Fire by the same scoreline.