Brown the beef and onion in a skillet over medium-high heat for 8 to 10 minutes, crumbling the meat until it reaches 160°F.
Drain the fat and stir in the garlic, chili powder and cumin for 1 minute.
Transfer the mixture to a 6-quart crockpot and add the tomatoes, tomato sauce, kidney beans, black beans, broth and salt.
Cover and cook on low for 6 to 7 hours until the beans are tender and the sauce is thick.
Stir well, then cook uncovered on high for 15 minutes if excess liquid remains around the edges.