Whisk first 6 ingredients together in a bowl to make the marinade.
Use a knife to slice shallow cuts all over the pork shoulder. Place pork shoulder in a bowl or reseal able plastic bag. Pour the marinade over the top. Turn the pork shoulder in the marinade to coat completely, cover (or seal). Refrigerate for 6 – 8 hours or overnight. Reserve marinade.
After the pork has marinated, heat a cast iron or other heavy bottom skillet over medium-high. Sear the pork to brown it on all sides.
Lay the sliced onion in the bottom of the slow cooker. Place the pork on top with the fat side up. Pour the beef broth and remaining marinade over the top. Cover and cook on low for 8 hours.
Once the pork has cooked, remove it and allow it to rest for 10 minutes. Meanwhile pour the pan juices into a skillet on high. Bring to a boil and allow to cook until reduced by half about 5 minutes.
Slice pork and serve with sauce along side or poured over the top.