In a large pot over medium heat, warm the olive oil until shimmering.
Add the ground beef, breaking it up with a spoon, and cook until it browns.
Stir in the onions and garlic, and cook until the onions are soft and translucent.
Season with chili powder, cumin, smoked paprika, salt, and pepper. Cook for 1 minute to release flavors.
Add diced tomatoes, beans, beef broth, tomato paste, and sugar. Bring to a simmer, reduce heat and cook gently for 20 minutes.
Adjust seasonings to taste, garnish with cilantro before serving.
Notes
Leftover chili can be stored in the fridge for up to 3 days or frozen for up to 3 months. To reheat, simply warm on the stove over low heat until heated through.