Short answer: a Trainer Battle against a friend gives zero Trainer XP for the battle itself — win, lose, or draw. Pokémon GO's XP chart has no Trainer Battle entry at all. What you actually get is Stardust (and sometimes an item), capped at three rewarded battles a day. Any XP you feel from a battling session comes from the friendship level-up the battle helped trigger, not the battle itself.
Trainer school
How much Trainer XP do you get for winning a Trainer Battle against a friend in Pokémon GO?
It's an easy mix-up: battling a friend is one of the fastest ways to bank that day's friendship interaction, and friendship level-ups pay huge XP. That makes the battle feel like an XP event. It isn't — here's what's actually happening.
Trainer Battles aren't on the XP chart
Pokémon GO's list of direct XP sources covers catching, hatching, evolving, spinning and gym battles — nothing for Trainer Battle / PvP:
| XP | Action |
|---|---|
| 1,000 | Hatch a 10 km egg |
| 500 | Hatch a 5 km egg |
| 500 | Add a new species to the Pokédex |
| 500 | Evolve a Pokémon |
| 200 | Hatch a 2 km egg |
| 100 | Catch a Pokémon |
| 100 | EXCELLENT! throw bonus |
| 100 | Defeat a gym's enemy Pokémon (per Pokémon) |
| 50 | Use a PokéStop |
| 50 | Clear every Pokémon at a gym |
A gym battle pays XP per enemy Pokémon defeated. A Trainer Battle against a person — friend or stranger — doesn't have an equivalent line anywhere on the chart. See the full, current XP ranking for how everything else compares.
What a Trainer Battle actually pays
Both trainers get a reward for playing, win or lose — Stardust, and sometimes a better item — capped at three rewarded battles per day. Past that cap you can keep battling and it still counts toward your daily friendship interaction, the extra battles just stop paying rewards. Full mechanics, including the Ultra Friend+ requirement for battling remotely, in Trainer Battles with friends.
Where the "battle XP" idea comes from
- Friendship level-ups pay enormous XP (3,000 at Good Friend up to 150,000 at Forever Friend), and a Trainer Battle is one of the interactions that can push a friendship past a level threshold for the day. That XP comes from the level-up, the same as it would from a gift or a trade — the battle isn't a separate XP event. See the full friendship XP math.
- Event Research tasks sometimes ask you to battle. During events like GO Battle Day, Niantic occasionally attaches a Research task such as "win a Trainer Battle" with its own XP reward. That XP comes from completing the task, not from the battle mechanic itself, and only exists while that specific event or task is active.
This is the same pattern as trading: the transaction itself is XP-neutral, and trading a Pokémon gives zero direct XP for exactly the same reason.
FAQ
Does winning pay more XP than losing? Neither pays XP at all — rewards (Stardust, items) go to both sides regardless of the result, up to the daily cap.
Does battling a friend remotely instead of in person change the XP? No, distance doesn't affect rewards either way — see the remote battle requirements.
Does a Trainer Battle count toward trainer-level XP tasks the way trades do? Pokémon GO's level-77 and level-79 tasks are trade-specific (distance trades, Lucky trades) — see how trading XP actually works for those. No equivalent one-time Trainer Battle task is currently documented.
So why do I feel like I gained a lot of XP after a battling session? You probably leveled up a friendship at the same time — check the friendship levels & XP guide for the level-up table. Fresh friend codes keep that pipeline moving.
Does this zero-XP rule also apply to ranked GO Battle League matches? Yes — no Trainer Battle mode pays direct XP, friend or ranked. See how GO Battle League differs from battling a friend for how the two systems otherwise compare.