Brown the beef: Heat a large skillet over medium-high heat and cook the ground beef until no pink remains and the edges turn deep brown, about 7 minutes. Drain excess fat before transferring the beef to the slow cooker.
Soften onion and garlic: In the same skillet, cook the diced onion until translucent, about 4 minutes, then add garlic and cook until fragrant, about 1 minute. Scrape up any browned bits from the pan as you stir.
Transfer aromatics to slow cooker: Add the onion and garlic mixture to the slow cooker with the browned beef. Stir to combine evenly.
Add tomatoes and beans: Pour in the fire-roasted tomatoes, kidney beans, and pinto beans. Stir gently so the beans don't break apart.
Season the chili: Add chili powder, cumin, smoked paprika, cayenne if using, salt, and black pepper. Stir in the beef broth, soy sauce, and rice vinegar until everything is well combined.
Cook on low or high: Cover and cook on low for 7 to 8 hours or on high for 4 to 5 hours, until the chili has thickened and the beans are tender.
Taste and adjust: About 30 minutes before serving, taste the chili and add more salt or chili powder if needed. Stir in extra broth if the chili looks too thick.
Serve warm: Ladle the chili into bowls and top with shredded cheese, diced onion, or a dollop of sour cream. Serve immediately while hot.