Heat a large skillet or saucepan over medium-high heat and add 1 tablespoon of the butter.
Add the ground beef and cook 3 minutes until it begins to brown, breaking it up as needed.
Push the beef to one side of the pan and place the cut side of the onion in the pan; continue cooking 3–4 minutes until the beef is nicely browned and the onion is fragrant.
Turn off the heat, tilt the pan, and spoon out and discard excess fat.
Return the pan to medium-high, add the remaining 3 tablespoons butter, then add the canned tomatoes and Italian herb mix. If using whole tomatoes, mash and break them up with your spoon.
Bring the sauce to a simmer, then reduce heat to low and cook, uncovered, about 45 minutes until thickened; season with salt to taste.
While the sauce simmers, cook the hearts of palm linguini according to package instructions, then drain.
To serve, place linguini in bowls, top with the tomato and beef sauce, sprinkle with grated Parmesan, and finish with your choice of chopped parsley, basil, or oregano.