Here is one of the great efficiencies of Portuguese: the two verbs ser (to be) and ir (to go) have exactly the same forms in the pretérito perfeito. You learn one set of forms and get two of the most essential verbs in the language for free. The price is that you have to let context tell you which verb is meant — but as you'll see, context makes it obvious every single time.
The shared forms
| Person | ser AND ir |
|---|---|
| eu | fui |
| tu (regional) | foste |
| você / ele / ela | foi |
| nós | fomos |
| vocês / eles / elas | foram |
These forms are completely irregular — they have nothing in common with the infinitives ser or ir. You simply memorize them. The good news is that the list is short and the forms are everywhere in real speech, so they stick fast.
How context disambiguates
If both verbs look identical, how does anyone know whether fui means "I went" or "I was"? The answer lies in what comes after the verb, and the two patterns almost never overlap.
Pattern 1: fui + "a/para/ao" + a place → ir (to go)
When the verb is followed by a preposition of direction (a, ao, para, à) and a destination, it is ir.
Eu fui ao mercado de manhã.
I went to the market in the morning. (ir — there's a destination)
Nós fomos para a praia no domingo.
We went to the beach on Sunday. (ir)
Eles foram ao cinema sem mim.
They went to the movies without me. (ir)
Pattern 2: fui + a noun or adjective describing the subject → ser (to be)
When the verb is followed by a predicate — a noun that identifies the subject, or an adjective that describes it — it is ser.
Meu avô foi professor a vida inteira.
My grandfather was a teacher his whole life. (ser — 'professor' identifies him)
A festa foi ótima.
The party was great. (ser — 'ótima' describes the party)
Aquilo foi um erro.
That was a mistake. (ser — 'um erro' identifies what happened)
Put the two side by side and the difference is unmistakable:
Eu fui ao médico, e a consulta foi rápida.
I went to the doctor, and the appointment was quick. (first 'fui' = ir, then 'foi' = ser)
A viagem foi longa, mas valeu a pena: fomos a três cidades.
The trip was long, but it was worth it: we went to three cities. ('foi' = ser, 'fomos' = ir)
Why this happens — and where Portuguese differs from its cousins
This syncretism is not random. Historically, the preterite of ser and the preterite of ir fell together in the western Romance languages, and Portuguese (like Spanish) kept them merged. Spanish does exactly the same thing: fui there is also both "I went" and "I was." So if you know Spanish, this will feel familiar.
But this is not a universal Romance feature. Italian keeps them separate (fui "I was" vs andai "I went"), and French keeps them separate too (je fus "I was" vs j'allai "I went"). The ser/ir merger is a specifically Ibero-Romance trait that Portuguese and Spanish share. So when you learn fui = went/was, you are learning something that sets Portuguese and Spanish apart from the rest of the family.
For English speakers there is no parallel at all — English keeps was and went utterly distinct, and they don't even rhyme. The merger can feel disorienting precisely because English never trains you to expect it. The fix is to stop translating the word and start reading the frame: destination → went; description → was.
A note on estar
Don't confuse this with estar, the other "to be." Estar has its own, different preterite (estive, esteve, estivemos, estiveram), and it does not merge with ir. So while "I was a teacher" uses ser (fui professor), "I was at home" uses estar (estive em casa). See the preterite of estar for that pattern, and remember that the ser-vs-estar split applies in the past just as it does in the present.
Ontem eu estive doente, por isso não fui à aula.
Yesterday I was sick, so I didn't go to class. ('estive' = estar, 'fui' = ir)
Common Mistakes
❌ Eu fuí ao mercado.
Incorrect — 'fui' has no accent; don't import the Spanish-style accent.
✅ Eu fui ao mercado.
I went to the market.
❌ Eu estive professor por dez anos.
Incorrect — identifying a profession is 'ser,' so use 'fui,' not 'estive.'
✅ Eu fui professor por dez anos.
I was a teacher for ten years.
❌ A festa foi na casa da Ana e fui muito boa.
Incorrect — the second clause needs a subject form: 'foi muito boa,' not 'fui.'
✅ A festa foi na casa da Ana e foi muito boa.
The party was at Ana's place and it was very good.
❌ Nós fomos cansados depois da viagem.
Incorrect — a temporary state ('tired') is 'estar,' so 'ficamos/estávamos cansados,' not 'fomos.'
✅ Nós ficamos cansados depois da viagem.
We got tired after the trip.
❌ Eles iram ao cinema.
Incorrect — the preterite of 'ir' is irregular: 'foram,' not a regular '-iram' form.
✅ Eles foram ao cinema.
They went to the movies.
Now practice Portuguese
Reading grammar gets you part of the way. The exercises are where it sticks — free, no signup needed.
Start learning Portuguese→Related Topics
- Pretérito Perfeito Simples OverviewA1 — An introduction to the pretérito perfeito simples, Brazilian Portuguese's main past tense for completed actions, and how it maps onto English.
- Pretérito Perfeito: Regular -ar VerbsA1 — How to conjugate regular -ar verbs in the Brazilian Portuguese preterite, including the spelling-change verbs like fiquei and cheguei.
- Pretérito Perfeito: Regular -er VerbsA1 — How to conjugate regular -er verbs in the Brazilian Portuguese preterite, plus a heads-up about the many high-frequency -er verbs that are irregular.
- Pretérito Perfeito: Regular -ir VerbsA1 — How to conjugate regular -ir verbs in the Brazilian Portuguese preterite — the most regular of the three verb classes.
- Pretérito Perfeito of EstarA1 — How to conjugate estar in the simple past (estive, esteve, estiveram), and why it — not foi — is usually the right choice for past locations and temporary states.