Heat the oil in a large pan in medium-heat until it is shimmering. Add in the sliced onions, brown sugar, and 1/4 teaspoon of salt. Cook, stirring regularly, until the onions are wilted, 10-12 minutes.
Stir in the tomato paste and flour. Cook for 2-3 minutes. Add in the garlic and cook for 30 seconds.
Stir in the chicken broth and cook until it thickens, 4-5 minutes. Take it off the heat and add a tablespoon red wine vinegar. Let it cool for 10 minutes and place it in an airtight container. Keep it in the fridge overnight.
Mix 1 teaspoon of the salt, paprika, chili powder, onion powder, garlic powder, and cayenne pepper in a bowl. Prick the both sides of the beef brisket in several places (40-50 hits) using a fork. Rub the spice mixture all over the brisket. Cover it tightly with stretch film (or plastic wrap) and let it sit in the fridge overnight.
In the morning, take them out of the fridge. Spread half of the onion mixture in the bowl of your slow cooker. Add in the thyme sprigs and bay leaves. Place the brisket (fat side up) on top. Spread the rest of the onion mixture on top of the brisket.
Cover it with the lid. Set the slow cooker in low heat setting for 10-11 hours. You can also set it to high heat setting for 6-7 hours.
Transfer the brisket on to a cutting board. At this point, you can either slice it or shred it using two forks (this is what I did). Place the meat onto a serving platter and cover it with aluminum foil to keep warm.
Meanwhile, discard the thyme sprigs and bay leaves. Transfer the leftover juices into a large skillet and stir in a tablespoon red wine vinegar. Bring it to a boil and let it simmer for 15 - 20 minutes or until it is thickened to your liking.