Warm oil in a large pot over medium-high heat. Add onion and sauté until translucent, 5 to 6 minutes. Add garlic and stir for 1 minute. Add ground beef and cook, breaking up meat with a spoon, until it is no longer pink, 8 minutes. Stir in chili powder, cocoa and pepper and stir until fragrant, about 1 minute.
Reduce heat to low and stir in tomato soup and 2 Tbsp. water. Cover and simmer to blend flavors, 10 minutes. Stir in beans and cook until heated through, about 3 minutes longer. Spoon chili into bowls and serve.