Hasta las siete de la mañana del 10 no empezó el ataque a las posiciones enemigas. Muy fuertes éstas de por sí, por los canales y ríos que rodean a Tolosa, ceñida la ciudad por sus antiguos y gruesos muros, con reductos en las colinas del Este, y por las numerosas obras de campaña que se construyeron, estaban defendidas por 32.000 soldados, sin contar la guardia urbana, los cuales tenían que hacer frente a fuerzas casi dobles en número. Se dirigió la principal acometida a las colinas de Montrave y el Canivet; por la derecha el mariscal Beresford con las divisiones inglesas Cole y Clinton, y por el centro e izquierda de dichas estancias las divisiones españolas de D. José Ezpeleta y de D. Antonio Garcés de Marcilla, dirigidas por el general D. Manuel Freire, que llevaba a su lado, como segundo, a D. Pedro de la Bárcena y a D. Gabriel de Mendizábal, éste sin mando alguno, como simple voluntario. El general Hill amenazaba el arrabal de Saint Ciprien, en la orilla izquierda, y las divisiones Alten y Picton amagaban otros puntos del recinto en la derecha. Posesionáronse los españoles en una buena acometida del altozano de la Pujade, frontero a dichas posiciones; y cuando recibieron el aviso de estar ya próximo Beresford a caer sobre la derecha enemiga, continuó el avance Freire a la cabeza de sus tropas, que en dos columnas se dirigieron al ataque sin disparar un tiro hasta llegar cerca de la escarpa de las obras enemigas; mas fueron recibidas por un violento fuego de metralla y fusilería, que llevó el destrozo y la muerte a las filas de los batallones españoles; no obstante, al principio continuaron éstos impávidos y serenos, a pesar de las enormes bajas que experimentaron; pero al cargar la división d'Armagnac a la bayoneta por la izquierda, vacilaron ya y acabaron algunos cuerpos por huir atropelladamente, cediendo el campo en desorden. Acudieron a sostenerlos la Brigada que había quedado de Reserva en Pujade, y algunos Cuerpos portugueses; voló lord Wellington al sitio del combate con los generales D. Luís Wimphen y D. Miguel de Álava, y gracias a los esfuerzos de todos, especialmente de los del general Freire, se pudo rehacer la hueste, sosteniendo con firmeza el choque con el enemigo, si bien a costa de muchas y sensibles pérdidas (Murieron gloriosamente D. Leonardo Sicilia, coronel de Cantabria, cuyo Regimiento se mantuvo firme y denodado bajo los atrincheramientos enemigos hasta que Wellington mismo le mandó retirarse; El coronel D. Francisco Balanzat, de La Corona, y D. José Ortega, teniente coronel de Estado Mayor, contándose entre los heridos a los generales D. Gabriel de Mendizábal y D. José Ezpeleta, y a los brigadieres D. Pedro Méndez Vigo y D. José María Carrillo). Al propio tiempo embestía Beresford la derecha francesa con el mayor brío, arrostrando sus tropas con flema británica el violentísimo fuego que recibían de las fuerzas que coronaban las tropas de dicho lado, que cayeron una tras otra en su poder, primero el reducto de la Sypière, llave de la posición, en la extrema derecha, y luego los del centro, "les Agustins" y "le Colombier". Faltaba sólo por conquistar los otros dos reductos situados al Norte, sobre los que avanzaron victoriosos los ingleses, ayudándoles en su empresa por el frente D. Manuel Freire, hasta conseguir desalojar al enemigo de todas sus posiciones. Dueños de ellas los aliados, plantaron en las cumbres su artillería, con lo que el mariscal Soult desistió ya de recuperarla, terminando la batalla, última de esta guerra, a las cuatro de la tarde. Pelea tan sangrienta y empeñada costó a los aliados unos 4.600 hombres, 2.000 a los ingleses, otros tantos a los españoles y 600 a los portugueses.
Soult permaneció en Tolosa todo el siguiente día, evacuándola en la noche del 11 al 12 por el camino de Carcasonne para juntarse con el mariscal Suchet, en retirada también desde Cataluña. El mismo día 12 entraron los aliados en la ciudad, aclamados ruidosamente por los habitantes.