Poke the meat all over with a slim bladed knife, and insert garlic slivers in the holes.
In a large glass or ceramic dish or bowl, combine the balsamic vinegar and rosemary. Add the meat and turn to coat thoroughly. Cover and refrigerate overnight.
Heat the oven to 350 degrees. (If using slow cooker instead, spray inside of slow cooker with cooking spray). Spread the sliced onions in the bottom of a large dutch oven or roasting pan. (Or slow cooker if using). Nestle the marinated meat onto the onions, and pour marinade over top. Season the meat with salt and pepper. Pour the tomatoes and their juices on top of the meat. Cover tightly with lid or foil.
Roast until fork slips easily in and out of meat, about 3-3 1/2 hours in oven. (In slow cooker, 8-9 hours on low).
Remove roast from pan and rest 5-10 minutes before carving. Spoon as much fat as possible off the onion-tomato juices. Serve the sliced meat topped with the onions, tomatoes and pan juices.
Enjoy!