Before the iconic duo of Messi and Ronaldo, the Spanish league had been producing the very best players in European football. But there has always been a gap between the top teams and the others, in the premier league that gap was very thin (Liverpool and Manchester City are widening it).
Finances is one of the top reason for the Spanish dominance by top teams, much of the revenue goes to the big clubs, while in the premier league it's more evenly distributed and mid table teams have huge purchasing power.