In a large pot heat up some olive oil and fry the onion, garlic, red chilli, and thyme until softened.
Add in the beef and season with cumin, sweet paprika, and oregano. Cook for around 10 minutes until the beef is browned all over.
Add in the fresh tomatoes, canned tomatoes, tomato puree, beef stock, tomato puree, cinnamon stick, and bay leaf. Simmer for 15-20 minutes until the chili has thickened and reduced.
Stir in the kidney beans and season with salt and pepper to taste. Let simmer for a further 10 minutes before serving.
Serve with a side of rice, tortilla chips, or crusty bread.