A simple, comforting bowl of creamy risotto, white beans and spinach, drenched in garlicky roasted cherry tomatoes. It’s highly flexible and customizable to your tastes and budget, and an excellent starting point for a vegetarian meal.

You can never go too wrong with a combination of rice, beans and greens! And this recipe gives those ingredients a home in a bowl of risotto, with some delicious roasted cherry tomatoes mixed through.

It’s a simple workflow – the tomatoes roast while you prepare everything else – and then mix it all together, like magic.

To set expectations, this isn’t the kind of risotto that is really smooth and creamy. It starts out that way but then it’s loaded up with STUFF. The beans, the spinach, the basil, the tomatoes – they all break up the uniformity of the risotto, so every bite can be a little different.

This risotto is a good budget recipe

This meal can made pretty cheap, with all of the ingredients being available from discount supermarkets such as Aldi, and most of the ingredients being available in the budget range of a major supermarket, such as Tesco Essentials.

You can also flex the ingredients a little based on what you have, for example swapping in a strong cheddar cheese if you already have that and don’t wish to buy a block of parmesan, or using plain white rice instead of arborio. See the ingredient notes for some suggestions.

Ingredient Notes

  • Arborio rice is your best bet for an authentically creamy, starchy risotto. However, if you don’t want to buy it and prefer to use plain white rice, feel free – you can still follow the same method. It’s a different result, but still good.
  • The celery is optional. It’s another flavor source, and celery lovers like Mr. Veggie will want it there, but it isn’t essential. If you do use celery, I would urge you to make sure you cook it long enough that it’s super soft and melty and has zero crunch left, before you add the rice. Otherwise the celery can be a little too present in the recipe, giving you crunchy bites from time to time, and I personally don’t like that. For that reason, it’s an easy thing to leave out if you want to cut the time or ingredients list.
  • The cherry tomatoes can be cheaper / off season. When you’re roasting tomatoes with lots of garlic and balsamic, you can get away with off season or cheaper ones. Yes, perfect summer tomatoes will soar in this recipe so it’s a lovely option for that time of year BUT it can work out well regardless. In terms of the amount of tomatoes – consider the 1kg / 500g in the recipe a MINIMUM. You can definitely add more, but try not to go any lower.
  • White beans could be cannellini beans, butter beans, navy beans – whatever you have, whatever you like. I use one can’s worth in this recipe, or if you have cooked beans from dry, you’ll want 1-1.5 cups.
  • I use a generic Italian hard cheese instead of parmesan to keep it vegetarian friendly (parmesan uses animal rennet in its processing, so I seek out hard cheeses that mimic parmesan but use vegetarian friendly rennets). You just want a strong hard cheese. An extra mature cheddar would slot in fine too. I also wouldn’t hesitate to try a blue cheese, a gruyere or anything else that is more distinct.
  • A handful of spinach is a great addition to this risotto and I like the nutritional benefits it brings. Take the time to chop it up if you want it blend in more and not add too much texture. I usually leave it whole.

How to to Save Time

This is not a quick recipe, so be sure to follow these tips to make it a good experience:

  • The tomatoes will slow roast for one hour in the oven. You’ll have enough time to prep and cook the risotto while the tomatoes roast, so don’t start gathering or prepping any of the risotto ingredients until the tomatoes have gone in the oven. If you misjudge the timings and the tomatoes are done before the risotto, that’s not a bad thing at all. Let the tomatoes sit, and their juices will thicken up a little, it will be great. But you don’t want the risotto to be finished before the tomatoes and have to sit out.
  • You can speed up the tomatoes cooking by bumping the oven temperature up to around 180C / 360F. They would be ready in 30-45 minutes in that case, so if you can make the risotto fairly quickly you’d save some overall time this way.

Serving Suggestions

  • As is, this makes a great side dish. It would pair well with some slabs of fried halloumi, a tofu or cauliflower steak, or grilled portobello mushrooms.
  • But don’t feel like you need to pair it with anything! It can just be a simple bowl meal. You’ve got carbs, protein and veggies present, so it’s a decent all rounder.
  • I like to have it as a main meal, but add a little fresh cheese on top. The bowl pictured has a few mini mozzarella balls (bocconcini) on top, which is a really nice touch if you can swing it, adding a creamy milky taste. Burrata, feta or goats cheese are also really nice here.
  • Leftovers store well in the fridge or freezer, and can be microwaved for a hearty lunch.

Roasted Tomato & White Bean Risotto

A simple, comforting bowl of creamy risotto, white beans and spinach, drenched in garlicky roasted cherry tomatoes. It's highly flexible and customizable to your tastes and budget, and an excellent starting point for a vegetarian meal.
5 from 1 rating


  • 1 onion, minced
  • 1 stalk celery, thinly sliced (optional, see notes)
  • 4 cloves garlic, minced
  • 1 cup (200 g) arborio rice
  • 1 cup (240 ml) white wine
  • 4 cups (950 ml) vegetable stock
  • 2 Tbsp salted butter
  • 1 can white beans (I used cannellini), rinsed and drained
  • cup (75 g) Italian hard cheese
  • 1 bunch basil
  • 2 handfuls baby spinach
  • salt and pepper, to taste
  • Optional topping: fresh mozzarella, burrata, feta or goat's cheese

Roasted Tomatoes

  • 1 lb (500 g) cherry tomatoes, halved
  • 3 cloves garlic, minced
  • 2-4 Tbsp olive oil
  • 1 tsp balsamic vinegar
  • salt and pepper


  • Heat the oven to 160C / 320F.
  • Get the tomatoes roasting. Add the cherry tomatoes to a deep sided baking or roasting dish. Drizzle with enough olive oil to coat all of the tomatoes, using a spatula to mix through, and and ensure the pan has a thin layer of oil over the entire bottom. Add in the balsamic vinegar and stir through to coat. Add garlic, salt and pepper to taste. Place in the oven for around 1 hour, or until they are well reduced and starting to brown.
  • Now start off the risotto. Cook the celery and onions over a low heat until translucent and fully softened. This will take about 10 minutes. Add the garlic, then saute until fragrant.
  • Add the arborio rice and the wine to the pan. Let the wine cook down, stirring frequently, until the pan is almost dry.
  • Add a little bit of the vegetable stock, enough to cover the rice, and continue to cook, stirring frequently, until the liquid is almost gone again. Repeat this process several times until the rice is cooked al dente. It will usually take 20-25 minutes but check in at the 15 minute mark. If you run out of vegetable stock, just use hot water.
  • Once the rice is cooked al dente, turn the heat down very low and add the butter, spinach and cheese. Stir until the cheese is melted and the spinach is wilted. Add salt and pepper to taste.
  • Now add the white beans and most of the roasted tomatoes (saving a couple small spoonfuls to top individual serving with) and mix through. Make sure to get as much of the roasting oil out of the dish and into the risotto as you can – it adds so much richness and flavor to the dish.
  • Remove from the heat and mix the basil through, then serve immediately, with the reserved tomatoes as a topping.


Celery – the celery brings some extra flavor, but only use it if you have the extra time to cook it until it’s really soft and melty. You don’t want to know it’s there, and if undercooked you’ll get crunchy celery bits throughout the dish.
Cherry tomatoes – this amount is a minimum, you could definitely use more if you have more and have enough space in the roasting dish.
Calories: 517kcal, Carbohydrates: 51g, Protein: 13g, Fat: 28g, Saturated Fat: 7g, Polyunsaturated Fat: 3g, Monounsaturated Fat: 17g, Trans Fat: 0.2g, Cholesterol: 18mg, Sodium: 766mg, Potassium: 650mg, Fiber: 6g, Sugar: 4g, Vitamin A: 1832IU, Vitamin C: 23mg, Calcium: 220mg, Iron: 5mg