Heat the olive oil in a large pot or Dutch oven over medium heat.
Add the chopped onion and sauté for about 5 minutes until it becomes translucent.
Stir in the minced garlic and cook for an additional 1 minute, being careful not to burn it.
Add the ground beef to the pot. Cook until browned, breaking it up with a wooden spoon, about 7-10 minutes.
Once the beef is browned and cooked through, drain excess fat if necessary.
Stir in the diced tomatoes (with their juice), kidney beans, black beans, chili powder, cumin, smoked paprika, salt, black pepper, and beef broth.
Bring the mixture to a simmer, then reduce the heat to low. Cover and let it cook for about 30 minutes, stirring occasionally.
Taste and adjust seasoning if necessary. If you desire a thicker chili, let it cook uncovered for the last 10 minutes.
Serve hot with optional toppings like shredded cheese, sour cream, or chopped green onions.