Whisk together the olive oil, vinegar, sofrito, garlic, adobo seasoning, and salt in a large bowl. Add the steak and turn evenly to cover with the marinade. Alternatively, you can use a large sealable plastic bag.
Marinate the beefsteak in the refrigerator at least 1 hour, or overnight for more flavor penetration.
When ready to cook, heat a large pan or Dutch oven to medium-high heat. Remove the meat from the marinade and tap off excess moisture (keep the marinade). Sear each steak for 1 minute per side. Remove the seared steaks and set aside on a plate.
Add the sliced onions and cook for 5 minutes, stirring, to lightly brown them.
Add the reserved marinade and chicken stock and scrape any browned bits from the bottom of the pan with a wooden spoon.
Add the seared steaks, then reduce heat and simmer for 30-45 minutes, or until the steak is tender to your liking and cooked through. Serve.
If you’d like to thicken the sauce, remove from heat and whisk in the cold butter to make a gravy.