In a large kettle, bring beans to a boil in 4 cups water. Boil 2 minutes, remove from heat, cover, and let stand 1 hour. Without draining bring to a boil again then reduce heat, cover, and simmer until the beans are tender (mash several to test), about 45 minutes; add more water if necessary to prevent the beans from sticking.
While beans are cooking, fry the bacon in a large frying pan over medium heat until crisp; remove with a slotted spoon, drain, and set aside. Pour off all but 2 tablespoons of the drippings, add the onion, and saute until translucent. Add ground beef and cook until lighly browned. Stir in tomatoes and liquid, breaking them up with a spoon, then add 1 tsp salt, sugar, and mustard. Add this mixture to the beans. Boil uncovered, until most of the liquid is evaporated. Taste; add salt if necessary. Scatter the bacon over the top just before serving.