Heat the olive oil in a large saucepot over medium heat. Add the onion and cook until softened, about 5 minutes.
Add the ground beef, salt, and black pepper and cook for 5 to 6 minutes without stirring. Stir and cook for an additional 2 to 3 minutes, until the beef is browned. Use a spoon or potato masher to break up the beef into small, bite-sized pieces. Drain any excess grease.
Add the tomato paste to the pot and cook for 5 minutes, stirring frequently, until it turns deep red and begins to release its oils.
Add the chili powder, cumin, garlic powder, and onion powder to the beef mixture. Stir well and cook for 1 minute, until fragrant.
Add the canned tomatoes and their juices, drained kidney and pinto beans, and green chilies. Stir to combine and bring the mixture to a simmer and cook for 5 to 10 minutes.