In a large pot over medium heat, heat oil. Add onion and cook, stirring occasionally, until slightly softened and translucent, about 5 minutes. Add garlic and cook, stirring, until fragrant, about 1 minute more. Add tomato paste, stirring to coat vegetables. Add ground beef and cook, breaking up meat with a spoon, until no longer pink, about 7 minutes. Drain any excess fat.
Add chili powder, oregano, cumin, paprika, and cayenne (if using); generously season with salt and black pepper. Pour in tomatoes and beans and bring to a boil. Reduce heat to medium and simmer, stirring occasionally, until flavors have melded and liquid is slightly reduced, about 20 minutes; season with salt and black pepper, if needed.
Ladle chili into bowls. Top with cheese, sour cream, and scallions.