6 races.
problem doesn't say to guarantee finding the solution.  But, for one particular solution, 6 races is sufficient:
Horses are A->Y
Race 1:
A, B, C, D, E
race 2:  
winner of 1, plus F,G, H, I
If winner of race 1 does not place in the top 3 of race 2, then all in race 1 are eliminated.  
race 3:  winner of race 2, plus j, k, l, m
again, if winner of race 2 doesn't place in the top 3, then many more are eliminated.
race 4:  winner of race 3, plus n, o, p, q
ditto
race 5:  winner of race 4, plus r, s, t, u
again, if winner of 4 doesn't place in the top 3, then winner of 4 and all those slower are eliminated.
race 6:  winner of 5, plus v, w, x, y.
Top 3 finishers in race 6 are the 3 fastest horses.  
This neglects that the horses run slower because they are tired.
So, minimum is 6 races (as far as I can figure out.)
However, a minimum of 6 races doesn't *guarantee* that you'll have the top 3 horses.  It's just the case for one particular situation.  After that, there's a huge if-then tree before you have the minimum to guarantee.