Can anyone please give me some suggestions for a city break with lots of history (preferably medieval.) I have been to Prague and Tallinn and really like the cobbled streets, suares and pavement cafes. I am hoping for somewhere similar to visit. I won't have a car so will be relying on public transport. Thanks

Thanks. Was considering there - would you say the food is expensive as I hear it is famed for it's gastronomy?

It is difficult to think of many which are the size of Prague and Tallinn. Krakow is one possibility and maybe Gdansk in Poland. However, there are dozens of small mediaeval and older towns in Italy, but a day trip is probably all you need to do them justice. Similarly in Germany, many of the bigger ones got knocked about in 1939-45. However a few for you to look at in more detail - Florence and Venice surely fall into this category in Italy, maybe Turin too, but if you picked one of these you could do day trips to places nearby such as Siena or Lucca, maybe Montepulciano from Florence, and Padova from Venice. Trier is perhaps the biggest in Germany, but personally prefer eg. Marburg, Quedlinburg - indeed you could think of staying in Quedlinburg or Wernigerode and using them as a base for nearby towns such as Halberstadt, Thale etc in the Harz mountains. Another option might be Lübeck, Wismar and Schwerin, all within an hour or so of each other north east of Hamburg.
In Germany, Trier and Aachen may interest you. They are each worth a full day. You may be looking for a longer trip. Staying in Florence would also give you easy access by public transport to Pisa, Lucca, San Gimignano and SIena - this is a popular combination, and has many existing threads.

Where in the UK do you live?
Since you mentioned city breaks I guess you're looking for spending only a couple of days or a few days at most, right? That means you'll need to fly.
We could list hundreds of medieval cities, but I think we'd better narrow it down to cities you can easily reach from where you live.
To give you at least 2 ideas, I'm going to sugest 2 medieval cities I visited for the first time a month ago:
Genova(Genua, not Geneva!)
Fribourg
Budapest is stunning. It's got great old architecture. It's quite large though, I'd say it's worth 4 days.

Budapest is stunning. It's got great old architecture. It's quite large though, I'd say it's worth 4 days.
I agree Budapest is a really great city with great architecture but there is nothing medieval about it. Most of the interesting buildings are late 19th-early 20th century -- not what OP is looking for.
OP - re Lyon. Food is as expensive as you want. You choose where you eat -- if in fancy or well-known restaurants, you pay a lot, if you go to small places where locals eat, just normal French prices. Lyon is indeed known for its food.