Do you have any peltasts. Even one unit of peltasts behind your line throwing javelins into combat will help break enemy units much faster.
Other than that, spend a season or two harrying them before you move on their cities. You should have access to some excellent thessalian cavalry mercenaries. Have two or three units of those running around between the theban cities capturing fields, burning crops, and generally making the thebans pay less attention to attacking your cities and force them to play on the defence. The thessalian cavalry is stronger than the usual greek cavalry so you just have to run away from any hoplites that come out and you can fight and break any enemy peltasts or cavalry.
On they are focused on your cavalry far behind the front then you can bring up a quick siege force of 2-3 catapults and infantry to take a small city before the Thebans can mount an effective response. Once you have the city it's extremely unlikely that the Thebans will be able to mount an effective response. You don't need to win any big field battles, you just need to keep pressuring their supply lines and going for small, decisive sieges. If you have a fleet there's also the option of landing siege forces on a remote coast.