Heaslip, try scorer against the Scots, edges out Leamy who is recovering from the shoulder injury he sustained at Murrayfield but is included on the bench.
Ulster's Rory Best makes way for Jerry Flannery in the number two jersey despite doing little wrong in Edinburgh.
Peter Stringer can feel even more aggrieved after being rewarded for his man of the match display by being relegated to the bench.
Munster veteran Stringer created Heaslip's try with a superb break and his delivery was crisp throughout, but he has not done enough to be retained.
Head coach Declan Kidney has opted to persevere with Gordon D'Arcy at inside centre with Paddy Wallace continuing on the bench.
Kidney said: "The difference between the players is so small. The changes were partly for tactical reasons. It's about getting the right chemistry."
A total of 11 players have started every one of Ireland's Six Nations matches this season.
Victory in Cardiff would complete the Grand Slam and claim Ireland's first championship title since 1985.
Wales must triumph by at least 13 points to defend their crown.
Ireland team to play Wales in the RBS 6 Nations at the Millennium Stadium on Saturday, March 21 (5:30pm):
R Kearney (Leinster); T Bowe (Ospreys), B O'Driscoll (Leinster, captain), G D'Arcy (Leinster), L Fitzgerald (Leinster); R O'Gara (Munster), T O'Leary (Munster); M Horan (Munster), J Flannery (Munster), J Hayes (Munster), D O'Callaghan (Munster), P O'Connell (Munster), S Ferris (Ulster), D Wallace (Munster), J Heaslip (Leinster).
Replacements: R Best (Ulster), T Court (Ulster), M O'Driscoll (Munster), D Leamy (Munster), P Stringer (Munster), P Wallace (Ulster), G Murphy (Leicester).