If I had had only one cake and had given it to John, which of the following sentences would be correct?

That was the only cake I could give John.

That was the only cake I could have given John.

I'd appreciate your help.

2 Answers 2


Neither of your sentences makes it clear that you have given the cake to John.

The usual options would be:

That is the only cake I could give (to) John.

This is making it clear that you might give this cake to John but that you have NOT done so.

Alternatively, if the dog had eaten the cake, you might say:

That was the only cake that I could have given (to) John.

The cake no longer exists and John certainly didn't get it.

To make it clear that John actually received the only cake you possessed, you would have to rephrase the sentence:

I gave John the only cake I had.
The only cake I had I gave to John.
The only cake I had was the one I gave to John.

or something similar.


Both of those sentences are technically correct, and in many cases you could probably even use them interchangeably, but in some cases you might not. @Ronald Sole is correct that neither of those sentences really explicitly says that you did give the cake to John, but they do have varying implications about what actually may or may not have happened to the cake.

In both cases, the use of "was" implies that you no longer have the cake for some reason. That may be because you gave it to John, or it may be something else (e.g. the dog ate it), however:

That was the only cake I could give John.

This is the past potential form, which is fairly neutral. It basically suggests that you don't have the cake anymore, and it was the only one that was an option for giving to John. It may be that you gave it to John or it may be that something else happened to it, we don't know.

That was the only cake I could have given John.

The use of the past perfect potential form here suggests that there was a point in time when you could have given it to John, but then after that there was a later point in time where you could no longer give it to him. This has a bit of an implication that John was probably not actually given the cake (but it's not a strong implication, it is still possible to use this form even if you did give John the cake and it would still sound OK, so a lot of it will depend on context).

Actually, there are a few ways that this sentence could be interpreted, depending on context. If it is already clear that you are talking about a specific time in the past, then this doesn't imply anything about what did or didn't happen, just that at that particular time that was the only cake you could have given him. It could also mean that you are saying "At that time it was the only cake I could have given him, but then later there were other cakes too".

It could also be interpreted as a past hypothetical potential instead of past perfect potential. That is, if you were talking about a hypothetical situation then you would use the "could have given" form as well, that is:

I'm not going to say whether I gave John a cake or not, but if I had given John a cake, that was the only cake I could have given him.

Basically, the use of past perfect in "could have given" really just says either "I'm only talking about one specific situation/point in time" or it says "it was true at one time, but then after that, something changed to make that statement not necessarily true anymore", but it's not specific about what (if anything) changed or exactly how that affected the situation, so there's a bunch of different possibilities (some of which overlap with the simpler "could give" form, so they're often interchangeable).

  • "could have + past participle" could be used to speculate, as in "John was absent yesterday. He could have been sick." Here, the speaker does not deny the possibility that John was sick. Maybe this sort of reasoning explains why the second example in the OP can be used when the speaker did give his only cake to John?
    – Apollyon
    Dec 19, 2019 at 14:49

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .