The only way the user "saves face" in this instance is if they actually stop violating the rules the moderators are informing them about.
Let's break the situation down point by point:
The User is Violating Rules
The moderators know that the user, for this example, has created a puppet account. They have enough evidence to support this accusation.
Contact Has Been Made
The moderators have contacted the user. During this interaction, it was relayed to the user that the moderators have enough evidence to assure that the user contacted has created a puppet account and are telling the user to stop. Instead of admitting fault, the user has claimed that the puppet account is his roommate.
Further interactions have only reinforced the initial conclusion: The user has created a puppet account and is continuing to maliciously use it. The longer this goes on, the more damage is being caused.
The Goal: Avoid Suspension If Possible
The moderators want to avoid suspension if it's possible, as they don't want an active user (or any user, really) to be subjected to a suspension if there's a chance for their behavior to change for the better. In this instance, we want the user to "save their face."
The moderators' course of action should simply be to contact the user again, informing them that the creation of puppet accounts violates the rules and that simply having a roommate does not account for the evidence accumulated by the moderation team. Inform the user that further rule-breaking behavior is grounds for a suspension, which is a last resort action that the moderation team hands out only when absolutely necessary. This is the final warning.
Being stern here is important. The only way the user gets the message that their rule-breaking behavior is hurtful and will be met with a suspension is if the warning is worded in a way that ensures there are two options: Halting the problematic behavior and avoiding a suspension, or continuing and receiving a resulting suspension. Either way, the puppeteer's game is at its end.
There's no real way to...
nudge the user to save face instead of standing their ground/escalating the conflict
simply because the user has already demonstrated that they are willing to lie when moderator evidence suggests they're still breaking the rules. Moderators can no longer presume good faith.
This now places the ability to save face in the user's hands. The moderators have done all they can, and have set the user up to avoid a suspension. The user must stop violating the rules. It's as simple as that. Moderators cannot treat this situation any differently if their evidence is as concrete as they believe.
All that remains is to wait and act accordingly. If the user stops, then the warning did its job, the user doesn't require suspension, and everybody's happy. If the user does not, then it's an open and shut case of a suspension with a note why.
What If A Suspension Is Necessary?
If a suspension occurs, Stack Exchange's method of handling puppet accounts mentions that the puppets in these instances are also either deleted or suspended, the choice being up to moderator discretion in this instance.
Another important detail in that answer, which I would recommend is relayed to the now-suspended user, is (my emphasis):
Take this opportunity to get to know how the community here works / talk to your co-workers / send your doppelganger back to the darkest dimension.
Make sure it doesn't happen again. Everyone makes mistakes, and we don't hold grudges here.
A suspension isn't the end-all be-all. The user, if suspended, is more than welcome to come back after their suspension provided they don't continue to maliciously use a puppet account, no grudges necessary. Following a suspension, the user may very well become one of the largest contributors on the site, who knows!