Thinly slice the onion and garlic. Roughly chop the carrot and pepper.
Heat the oil in a large flat pan then gently soften the onion and garlic. Add the carrot and red pepper bits, simmer for 5 minutes. Add the spices, stir for a minute, then add the chipotle paste and tomato purée. Stir to coat the veggies well, then add the tinned tomatoes and enough water to cover the veggies well.
Bring to the boil, then gently simmer for 25 minutes or so, until the veggies are tender.
Add the fresh herbs, season with salt and pepper, then process the stew using a hand-held blender until you get a slightly coarse, thick sauce.
Meanwhile, in another pan, fry the meatballs until brown all over.
When the tomato sauce is ready, add the drained beans and the meatballs, then cook for another 10-15 minutes, until the meatballs are properly cooked through.
Serve with coriander leaves and a squeeze of lime juice or a dollop of sour cream.