Marvin Harrison Jr. had a career-high 7 catches for 96 yards and a touchdown as the Cardinals beat the Cowboys 27-17, ending a five-game losing streak.