Barcelona, which leads Real Madrid and Sevilla by 12 points, hasn't lost since falling to Numancia on the opening day of the season.
"We've managed to take a lot of points, but there are still things we can achieve and there remains a lot of the season," Barcelona coach Pep Guardiola said. "What comforts me is this [team] spirit. The day we lose that, it will lead to defeat."
Eto'o scored two goals to give him 18 goals, the most in La Liga. Messi beat three defenders and scored with a rolling shot off the right side for his 12th goal of the season. Henry scored on a header and rebound to give him 11 goals.
New Madrid president Vicente Boluda was at Santiago Bernabeu Stadium on Sunday and watched the Merengues struggle to put away last-place Osasuna, 3-1, after trailing at the half.
Osasuna led on an early goal by Iranian international Javad Nekounam. Sergio Ramos, Gonzalo Higuain and Arjen Robben scored in the second half to give Madrid the win in its first game since the resignation of Ramon Calderon in a vote-rigging scandal.
"We scored three goals and got three points which is what we wanted," said Real coach Juande Ramos. "Barcelona is playing magnificent soccer and that is why they are getting good results. We are not playing so well but are getting good results and wins give you confidence and the ability to play better."