El español Daniel Pedrosa (Movistar Honda) luchó hasta el último metro por conseguir la victoria 250 c.c., pero tuvo que ceder ante la perseverancia y eficacia en el último giro del francés Randy de Puniet (Aprilia), que jugó a la perfección sus bazas.

En apenas tres vueltas Randy de Puniet y Daniel Pedrosa se marcharon de todos sus rivales sin que ninguno, salvo Toni Elías (Honda), pudiese seguir su ritmo. Estaba claro que el triunfo en Montmeló sólo podía tener dos protagonistas, pero entre ambos hubo constantes altibajos, pues si bien casi siempre fue el francés el que marcó la pauta a su rival, el español intentó en más de una ocasión sorprenderlo y marcharse en solitario.

Con el paso firme, las diferencias se fueron haciendo cada vez más abultadas y Toni Elías acabó arrojando la toalla y consolidando como buena una tercera plaza que le permite regresar nuevamente al podio tras el obtenido con ocasión del Gran Premio de Francia.

Así las cosas, por delante continuaba la lucha entre Randy de Puniet y Daniel Pedrosa, con el piloto de la Movistar Honda intentando casi a cada vuelta superar a su rival, pero siempre encontraba la reacción de éste.

Una vez más hubo que esperar a la última vuelta para decidir el vencedor de la carrera y ni el francés ni el piloto de la Movistar Honda cejaron en su empeño. En ese giro entró primero Randy de Puniet, pero Daniel Pedrosa consiguió superarlo apenas dos curvas después e intentó cerrar todos los huecos, pero terminó cediendo la victoria.