Heat a drizzle of oil in a large pot over medium heat. Add the diced onion and cook for 4 to 5 minutes, stirring occasionally, until soft and lightly golden. Add the garlic and cook for 30 seconds until fragrant.
Add the chilli powder and cook for 1 minute, stirring, so the spices coat the onion and release their flavour.
Add the tomatoes, drained beans, and about ⅓ can of water. Stir well to combine, breaking up the tomatoes if needed.
Bring to a gentle simmer, then reduce the heat slightly. Cook for 15 to 20 minutes, stirring occasionally, until the chilli thickens and the flavours develop. For a thicker texture, mash a few beans against the side of the pot.
If the chilli becomes too thick, add a splash of water to loosen it. Season to taste with salt and pepper. Serve hot with rice or bread and any garnishes you like.