En 1254 murió el gran emperador Juan III Vatatzis, dejando poderoso el Imperio de Nicea. Juan había logrado no sólo defenderse de los ataques de los latinos contra él, sino también liberar muchas tierras en Tracia y Macedonia. Al mismo tiempo, se había enfrentado al peligro turco y búlgaro.
Su hijo y sucesor, sin embargo, estuvo a punto de verse obligado a enfrentarse nuevamente al expansionismo de los búlgaros. Ioannis Vatatzis había derrotado a los búlgaros y les había impuesto sus condiciones, sellando el acuerdo con el matrimonio de su hijo Theodoros con su hija del zar búlgaro Ioannis Asan, Eleni. Tras la muerte de Ioannis Asan, el trono búlgaro fue ocupado por su hijo Michael Asan, hermano de la emperatriz Elena.
No perturbó al Imperio hasta el momento en que murió John Vatatzis. Entonces consideró oportuno recuperar todas las tierras que el reino búlgaro había perdido de manos de Juan Vatatzis. El rey búlgaro estimó que su sucesor, Teodoro II, necesitaría algún tiempo para establecerse en su trono.
También aprovechó el hecho de que en ese momento no había fuerzas imperiales serias en Macedonia y Tracia, con la excepción de unas pocas guarniciones en las distintas ciudades. Finalmente, contó con el factor sorpresa, ya que las relaciones entre ambos estados, en aquel momento, eran satisfactorias y existían lazos de parentesco entre las dos casas reales, por lo que los bizantinos no esperaban un ataque búlgaro.
El rey búlgaro, sin embargo, no atacó inmediatamente. Esperó hasta el invierno para atacar, de modo que no sería fácil abastecer de alimentos a las distintas guarniciones (en invierno el ejército no podía alimentarse de las ententes), pero también porque no sería posible una reacción bizantina inmediata. Al menos eso es lo que pensaba.
Invasión búlgara
Michael Asan reunió sus fuerzas al norte del río Ebro, que formaba la frontera entre los dos estados, en diciembre de 1254 e invadió los territorios imperiales a principios de enero de 1255. Los búlgaros se movieron, literalmente, a la velocidad del rayo, a pesar de las malas condiciones climáticas y rápidamente. arrasó muchas ciudades, pueblos y asentamientos, casi sin resistencia.
La mayoría de las guarniciones imperiales entregaron las ciudades que ocupaban con el acuerdo de ser liberadas libremente, sabiendo que sin comida no podrían resistir por mucho tiempo. Después de todo, varias ciudades y pueblos también estaban habitados por búlgaros y las guarniciones bizantinas no podían luchar contra un enemigo externo e interno.
En manos de Miguel Asan cayeron entonces Stenimachos -la actual Asanovgrad, una ciudad griega de la antigua Romilia Oriental-, las fortalezas de Peristitza, Krytzimos (la actual Chrysim, a 20 km al suroeste de Filipopolis) y Tzepaina (en el noroeste de los Ródopes) y todo zona hasta el lago Ahrida, a excepción de la pequeña ciudad de Mniakos, la única que permaneció bajo control bizantino. Los búlgaros capturaron otras ciudades más pequeñas y fortalezas como Ustra, Perperakion y Kryvo, llegando hasta las afueras de Andrianoupolis.
Tras estos éxitos, Michael Asan inició el esfuerzo por consolidar la soberanía búlgara en los territorios que ocupaba. Colocó fuertes guarniciones en las ciudades y fortalezas y les suministró armas y alimentos, que había recogido, para poder afrontar el contraataque bizantino, que calculaba para la primavera de 1255. Pero calculó sin su coraje y tenacidad Theodorou.
La batalla de la llave
Una amenaza aún más grave para Theodoros fue la operación búlgara de contradistracción, en la zona de Tzoumaia, contra la pequeña ciudad fortificada de Meleniko. Importantes fuerzas búlgaras marcharon contra la ciudad, bajo el mando del general Dragan (Dragotas según G. Akropolitis, probablemente de origen serbio).
La pequeña guarnición bizantina estaba encabezada por Ioannis Nestogos e Ioannis Angelos. Los búlgaros atacaron repetidamente la pequeña ciudad, pero fueron rechazados con grandes pérdidas. El emperador Teodoro, cuando fue informado del ataque búlgaro a Meleniko, decidió actuar de inmediato. Reunió su ejército y, dejando atrás los transportes, marchó, en pleno invierno, en 12 días, hacia Serres.
Los jinetes habían cargado sus caballos con provisiones y alimentos para todo el ejército. Después de descansar su ejército durante un día en Serres, el emperador marchó hacia el estrecho de Rupel (el bizantino Rupelio). Los búlgaros, por supuesto, habían bloqueado el estrecho paso con un muro y habían apostado allí una numerosa guardia a pie, apoyada también por algunos jinetes.
El emperador, cuando llegó al estrecho, que en su parte más estrecha tenía unos tres metros de ancho –debido también al lecho del río Strymons– comprendió que un ataque frontal sólo causaría daños innecesarios a sus fuerzas y nada más. Por eso decidió seguir el ejemplo de Basilio II Bulgaróctono y su general, Nicéforo Urano, durante la famosa batalla de Cleidio, en 1014. La diferencia fue que la batalla de Cleidio se libró en julio, mientras que ahora era ¡Febrero y la nieve tenía cerca de un metro de espesor!
Sin embargo, Theodoros no era alguien que se decepcionara fácilmente. Inmediatamente se dio cuenta de que tenía que flanquear la posición búlgara y los hombres más adecuados para esta misión eran sus secuaces, es decir, su infantería ligeramente armada.
Así, mientras él mismo con la caballería y la infantería pesada marchaba delante de las fortificaciones búlgaras y comenzaba a hostigar a los búlgaros con tiro con arco y pequeños ataques, la infantería ligera, como exploradores de la época , subió las laderas boscosas del monte Agistrou, donde más tarde se construiría el fuerte Rupel.
Cuando la infantería ligera alcanzó las posiciones apropiadas, se dio la señal y el ejército bizantino cargó contra los búlgaros. Estos últimos, viendo ante ellos a los bizantinos, se dispusieron a enfrentarlos, bastante complacidos por la "tontería" de sus oponentes al atacarlos de frente. Pero de repente las flechas y las jabalinas empezaron a alcanzarles en el lado izquierdo. Aterrorizados entonces, descubrieron que los habían superado en armas y huyeron en masa. Los jinetes lograron escapar. Pero su infantería fue neutralizada en su totalidad.
Los jinetes búlgaros que escaparon se unieron a un cuerpo del ejército búlgaro, comandado por Dragotas, que fue enviado allí para detener el avance bizantino y que estaba apostado más al norte, sembrando el pánico también allí.
Los búlgaros huyeron y en la noche sin luna muchos murieron al caer en barrancos o pisoteados por sus camaradas aterrorizados. Así también murió Dragotas, que cayó de su caballo y fue pisoteado por los caballos de sus compañeros de guerra. Murió, con un dolor insoportable, tres días después.
Después de su victoria, Teodoro avanzó hacia Meleniko, lo que obligó a los sitiadores búlgaros a huir a su vez. Después de esto, el emperador regresó primero a Salónica y luego se dirigió hacia Vodena (la actual Edesa).
Allí, sin embargo, Teodoro enfermó y permaneció, obligatoriamente, unos días. Cuando se recuperó se trasladó a la ciudad de Prilapos, de la que hizo base de operaciones en el oeste de Macedonia. Cuando también llegaron sus máquinas de asedio, el emperador marchó con su ejército hacia Velesos (actual Veles en el estado de Skopje, antes Tito Veles).
Teodoro llegó ante la ciudad y se preparó para sitiarla. Sin embargo, la guarnición búlgara, al ver sus máquinas de asedio, quedó paralizada y se rindió con un tratado. A unos 500 búlgaros se les permitió salir en libertad. Luego el emperador giró hacia el este y llegó a Stromnitsa (la antigua ciudad griega de Astraion) de la actual Skopje y desde allí marchó hacia Melenikos y regresó a Serres.
De esta manera, Teodoro liberó casi todos los territorios ocupados por los búlgaros, a excepción de Tzepaina y la pequeña fortaleza de Patmos, en los Ródopes; esta última finalmente fue capturada por el general Alexios Philanthropinos.