Read all the instructions and notes before getting started, especially about moderating the spiciness level.
Heat a Dutch oven or heavy-bottomed saucepan over medium-high heat. Add the olive oil, and once it’s shimmering, add the onions and season with a few pinches of salt. Stir frequently and cook the onions until nicely golden brown, stirring occasionally, about 10 minutes. If they start to burn around the edges, stir more frequently and/or add a splash of water.
Add the garlic, jalapeños, and tomato paste, and cook for 2-3 minutes, stirring very frequently, until tomato paste is darker in color. If it starts to dry out, add a splash of water and scrape up any browned bits.
Stir in the chili powder, cumin, paprika, and oregano and stir vigorously for 30 seconds.
Pour in the red wine to deglaze the pot, scraping up any browned bits. Simmer rapidly for 3 to 4 minutes, or until the smell of alcohol has cooked off and it's jammy.
Pour in the vegetable broth, pinto beans, navy beans, cocoa powder, bay leaves, soy sauce, chopped chipotle peppers + adobo sauce, hand-crushed tomatoes + their juices, salt, black pepper to taste, and 1 tablespoon maple syrup. Stir well.
Bring the chili to a boil over high heat, then reduce to a gentle simmer (this is lowest heat on my small burner). Take care to not boil or too rapidly simmer the chili, as it will break down the beans too much. Cook, stirring every 10 minutes, until thick and velvety and the flavors have melded together, about 1 ½ hours (or up to 2 hours). Discard the bay leaf.
Stir in the masa harina, if using. Simmer for 3 minutes, until the texture has further thickened.
Stir in 1 tablespoon lime juice, the vinegar, and cilantro. Taste and add more lime juice as needed for tanginess and add up to 1 more tablespoon maple syrup for sweetness to balance any bitterness. Season with salt and pepper, as needed.
Serve with toppings of choice, such as pickled onions, chopped cilantro, sliced scallions, vegan sour cream, avocado, tortilla chips, etc.