Heat the olive oil in a large pot over medium-high heat. Add the ground beef and cook until browned, about 5-7 minutes, breaking it apart with a spoon. Remove excess fat if needed.
Add the chopped onion to the pot with the browned beef. Cook until the onion is translucent and soft, about 4 minutes. Stir in the minced garlic and cook for another minute until fragrant.
Sprinkle in chili powder, cumin, smoked paprika, and cayenne pepper (if using). Stir well and cook for 1-2 minutes to bloom the spices.
Add the diced butternut squash, kidney beans, black beans, and canned diced tomatoes with their juices. Stir to combine.
Bring the chili to a gentle boil, then reduce heat to low. Cover and simmer for 30-40 minutes until the squash is tender and flavors meld, stirring occasionally.
Season with salt and pepper to taste. Ladle into bowls and garnish with fresh cilantro. Serve with optional toppings like shredded cheese, sour cream, or warm cornbread.