McNamara, 57, got his sixth chance to manage a major league team when he was signed to a two-year contract, succeeding Doc Edwards, who was dismissed Sept. 12 as the Indians were on their way to finishing 73-89, sixth in the American League East and 16 games behind the first-place Toronto Blue Jays.
McNamara, 57, was fired by the Boston Red Sox midway through the 1988 season.
The Reds signed Piniella to a three-year contract worth a reported annual salary of $350,000.
Piniella, 49, who spent the last 16 years with the New York Yankees as a player, coach, manager and general manager replaces Pete Rose, who was banned from baseball Aug. 24 for alleged gambling activities. Tommy Helms had been the interim manager.