The Rangers prevented Seattle starter Felix Hernandez from recording his 100th victory, but they could not keep him from reaching 1,500 strikeouts for his career.
Hernandez (1-2) gave up 10 hits over 6 2/3 and allowed all the Texas runs.
Texas had runners on first and third with two away in the fifth when Murphy delivered the RBI single that put the Rangers in front 3-2. Cruz followed with a double that brought home the second run of the inning.
Seattle closed within one in the eighth after putting runners on second and third with nobody out. The Mariners produced one run on a ground out by Robert Andino, but pinch-runner Endy Chavez was thrown out at home trying to score the tying run on a grounder back to the pitcher.
Joe Ortiz (1-0) picked up his first major-league win with two innings of hitless relief. Joe Nathan came on to work a perfect ninth for his third save.
Reindeer recovered after escaping from Santa during lighting ceremony
Wisconsin business offering 'therapeutic cuddling' forced to close