The Magic ended a five-game losing streak and prevented the Pistons from winning back-to-back games for the first time this season. Detroit was coming off its first win of the campaign after opening the year with eight straight setbacks.
Detroit let a 13-point, third-period lead get away and Orlando finally moved in front 104-102 on Redick's long-range shot.
Greg Monroe then missed a jumper for the Pistons and Glen Davis made a hook shot with 5 seconds left to give the Magic a four-point cushion.
Two free throws each from Redick and Arron Afflalo protected the lead down the stretch.
Redick finished with 23 points while Afflalo had 19. Orlando won on the road for the first time this year in four outings.
Jameer Nelson returned to the lineup for Orlando after missing six games with a strained hamstring and he scored 13 points to go with 10 assists.
Greg Monroe had 23 points for the Pistons.