Heat the oil in a large pan and cook the beef pieces for a few mins on each side until browned all over. Remove from the pan with a slotted spoon and set aside.
Add the onion to the pan, with extra oil if needed, and cook until softened. Stir in the garlic, cumin and chipotle paste, and cook for 1 min. Sieve the kidney beans, reserving the sauce. Add this sauce, along with the chopped tomatoes and a can full of water, to the pan. Stir well, then return the meat to the pan. Bring to a simmer, then cook, covered, for 2 hrs or until the beef is tender (or bake in the oven for 3 hrs at 160C/140C fan/gas 3).
Add the reserved kidney beans and lime zest, season and warm through. Serve with a scattering of coriander leaves, the lime wedges to squeeze over, and rice, if you like.