Heat oil in a heavy based saucepan or flameproof casserole dish over medium-high heat. Season the beef all over with salt and pepper and add half to the pan. Cook for 3-4 minutes or until browned all over. Transfer to a plate and repeat with remaining beef. Set aside.
Add onion to pan and cook for 5 minutes. then add the garlic, chipotle and all the spices, cook, stirring for 2 minutes. Return beef to the pan along with any juices and stir to coat in the spice mix.
Crumble in the beef stock cubes and add 2 cups water along with the diced tomatoes. Bring to a simmer, then reduce heat to low, cover, and cook for 1hr. Uncover, and cook for a further 45 min or until beef is very tender and sauce has thickened slightly.
Add the kidney beans and cook for a further 10 min. Season to taste salt and pepper. Serve beef with your choice of side: rice, fresh crunchy bread, grilled corn tortillas or corn chips. Garnish with a dollop of sour cream, sliced chilli and coriander.