1.Heat half the oil in large frying pan; cook onion, garlic and spices, stirring, until onion softens.
2.Combine beef with onion mixture in medium bowl; season. Using hands, roll level tablespoons of mixture into balls.
3.Heat remaining oil in same pan; cook meatballs, in batches, until browned all over. Remove from pan.
4.Add tomato and beans to same pan; bring to the boil. Reduce heat; simmer, uncovered, about 5 minutes or until mixture thickens slightly. Return meatballs to pan; simmer, uncovered, about 10 minutes or until meatballs are cooked through. Season to taste.
5.Serve meatballs with sour cream, coriander and, if you like, guacamole.
Meatballs and sauce can be made a day ahead and refrigerated, covered separately.