Glittering, glamorous Milan: a paradise for opera buffs, fashionistas, and lovers of fast cars and designer furniture. And, surely, the last place you'd take your young family for a cheap, no-frills holiday. Well, that's certainly the conventional wisdom. But I was determined to try. First, because I don't particularly relish the great outdoors – so any holiday featuring rolling hills and pristine forests is out. City breaks are the ideal option from my point of view, even if they tend to work out more expensive than camping in a field.
Second, there's the frisson of a challenge. When I announced to friends that the children and I were off to the Capital of Cool for three action-packed days, and that the whole thing would cost only £300 – the sum I had just "saved" by filing my tax return online myself and not, as in previous years, paying an accountant to do the dreary job – their collective reaction could be summarised in two dismissive words: dream on.
But dreaming doesn't come into it. As a single parent and a freelance writer, money is tight. I knew that if I wanted a cheap break in Italy's most stylish city, I'd have to plan for it.
Planning started with a trawl through budget-airline websites. Six weeks before departure, I found three Ryanair London-to-Milan return flights for, gulp, a total of £87.12. Just £14.52 per person per flight for me, Leah (aged 10) and Aaron (aged four). The outward journey was eye-wateringly early, and the return flight at a child-unfriendly late hour, but the price was right: I pounced. And since I use Ryanair quite a lot, I have a Ryanair Cash Passport MasterCard, which meant I dodged the card-payment fee.
Next, we needed somewhere to sleep. For that, I had just two modest requirements: cleanliness and centrality. It seemed, after some internet research, that Hotel Brasil, located on the fourth floor of a grand, early-20th-century palazzo, scored highly on both criteria. Although you wouldn't describe this one-star establishment as design-conscious, the floors were, at least, tastefully wooden. You think a single star is a turn-off? It's one more star than you get when you go camping. And, most cheering, Hotel Brasil cost just €42 (£36.50) per night. Aware that my second-born preferred to share a bed with me when we are away from home, I booked a twin room, rather than a triple.
Admittedly, transfers to and from Stansted were a bit of a cheat. Worried about his grandchildren being out and about at unsociable hours, my father drove us there and picked us up three days later. Unpleasant though it certainly was to be on an aircraft before 7am, it meant that when we'd arrived at Milan central station by mid-morning (after an hour's coach journey from Bergamo airport, which cost €24.90/£21.65 return in total), we had a long day stretching ahead of us.
Little Aaron was certainly up for the challenge when I announced that we were going to scale the roof of one of the tallest Gothic cathedrals in the world (€5/£4.35 each for Leah and me; under-fives climb for free). When we finally reached the summit and started pacing the narrow path along its exterior perimeter with only 135 spires and 2,245 sculptures and satanic gargoyles for company, my mild vertigo had turned into white-knuckle terror. He, on the other hand, was just excited. "Look, the people are smaller than Haribos!" he shouted, pointing to the specks of human beings far, far below us.
Somehow, I managed not only to shuffle on to that internal roof terrace but to have lunch there too – an inexpensive, hastily assembled picnic I bought in a supermarket. This might sound strange, until you consider that entire orchestras have played atop Milan's grande dame: Verdi's opera I Lombardi alla prima crociata was performed up there last July. And children love picnics: I can report that eating one hundred or so metres above ground level will only add to your offspring's pleasure.
Aside from our forays to the supermarket – and hands up who doesn't enjoy shopping in foreign ones – a couple of our meals came from the bakeries that line Milan's bustling, businesslike streets. This isn't a gastronomic compromise. Pizza, panzerotti di patate (a deep-fried calzone stuffed with, typically, mozzarella, tomato and spinach) and my kids' holiday favourite, olive-studded pane toscano, were all utterly delicious, and at around €2 (£1.74) apiece. Equally satisfyingly, we were the only non-Italians I spotted buying them.
It was after some just-baked mushroom pizza that we made our way to Italy's National Museum of Science and Technology (admission €7/£6.08 for Leah and me). Among the many gripping exhibitions at this child-friendly museum is the Leonardo Gallery, which includes a reproduction of Leonardo da Vinci's The Last Supper (to see the original in the church of Santa Maria delle Grazie you need to book at least a fortnight in advance). While Aaron played on the playground-size models of the great technologist's revolving cranes and drilling machines, Leah and I mused on the most famous mural in the world and had what felt like a seminal conversation about Judas, betrayal and the problem of anti-Semitism.
Which is not to say the children were deprived of more conventional pastimes on our city break. Unlike Italy's postcard-pretty, terracotta-roofed cities, grey limestone Milan – much of it rebuilt after the Second World War – is short on greenery. But it does have several good parks, and parks are always ripe for enjoyment by the budget-conscious. Our favourite was the grand Giardini Pubblici, where old-fashioned go-karts can be hired for just €2 (£1.74), and docile ponies can be ridden around the park for the same price. The image of my laughing children astride those fat fillies on a sun-dappled Friday in Milan will stay with me for ever.
Exploring the towers, courtyards and ramps of Castello Sforzesco, a sprawling medieval castle in the heart of the city, was also good alfresco fun. Because entry was free I felt justified in following it up with an all-you-can-eat buffet at San Vittore, a New York-style warehouse restaurant opposite the city's jail. At €40 (£34.80), this was not a budget meal, but the bill did include two hours of child care in the form of two ebullient children's entertainers, squishy sofas and newspapers – and the priceless opportunity to watch the good people of Milan unwinding over a weekend brunch.
Travelling back on the coach to the airport later that day with two lively children could not be described as unwinding. But it was fun listening to their excited anecdotes about the previous 72 hours – and very gratifying that it had all cost the same as a pair of good balcony seats at La Scala.
Ryanair (0871 246 0000; ryanair.com) flies from Stansted to Milan-Bergamo.
Hotel Brasil, Via G Modena 20 (00 39 027 492 482; hotelbrasilmilano.it).
Milan Cathedral, Via Arcivescovado (00 39 027 202 2656; duomomilano.it).
National Science and Technology Museum, Via San Vittore 21 (00 39 024 85551; museoscienza.org).
Milan Castle, Piazza Castello (00 39 028 846 3700; milanocastello.it).
San Vittore restaurant, Viale Papiniano 16 (00 39 024 331 9682; sanvittoremilano.it).
Milan Tourist Office: visitamilano.it