Messi scored in the 25th, 77th and 91st minutes and has eight goals from just five matches, one more than Real Madrid's Cristiano Ronaldo - who also scored a hat trick Saturday.
David Villa opened the scoring for Barcelona in the 8th minute, an own goal doubled the lead after 14 minutes, and Messi took over to continue his early- season scoring binge.
Barcelona remained unbeaten with its third win in five games and is one point behind first-place Real Betis, which plays Getafe on Monday.
Real Madrid 6, Rayo Vallecano 2
Madrid, Spain - Cristiano Ronaldo scored a hat trick as Real Madrid rolled to a 6-2 win over Rayo Vallecano at the Bernabeu on Saturday in La Liga.
Gonzalo Higuain and Raphael Varane also scored for Madrid, which ended a two- game winless streak where it failed to score. Ronaldo opened the scoring after 39 minutes and converted penalty kicks in the 51st and 83rd.
Michu scored twice for Rayo Vallecano, which allowed the last three goals with a man advantage after Real's Angel Di Maria was sent off in the 55th.
Sevilla 1, Valencia 0
Seville, Spain - Frederic Kanoute scored in the 17th minute as Sevilla downed Valencia 1-0 at the Estadio Ramon Sanchez Pizjuan on Saturday in La Liga, even after having two players sent off early in the second half.
Piotr Trochowski and Julien Escude were red carded in the 55th and 68th, but Ever Banega missed a penalty in the 67th for Valencia and Aritz Aduriz joined the Sevilla pair in the showers early when he was sent off in the 71st.
Athletic Bilbao 1, Villarreal 1
Bilbao, Spain - Nilmar scored early in the second half as Villarreal posted a 1-1 draw against Athletic Bilbao at San Mames on Saturday in La Liga.
Igor Gabilondo scored three minutes before halftime for Bilbao, but Nilmar was on target seven minutes after the break for Villarreal.