Med över 99,8 procent av rösterna räknade leder Castillo med 50,2 procent mot Fujimoris 49,8.
Högerkandidaten Fujimori kräver att rösterna från över 800 vallokaler, motsvarande 200 000 röstsedlar, ska ogiltigförklaras. Dessutom vill hon att 300 000 röstsedlar ska granskas.
– En halv miljon röster står på spel, säger Fujimori under en presskonferens.
Morales gratulerar
Landets valkommission Onpe har ännu inte velat utropa någon segrare, men Castillo säger att det enligt de egna observatörerna står klart att han vinner. Han tackar också för gratulationer från utländska regeringar och ambassader.
Men inget lands regering har ännu officiellt erkänt Castillo som segrare, även om Bolivias tidigare vänsterpresident Evo Morales har skickat gratulationer via Twitter.
Castillo ledde under natten mot torsdag svensk tid med omkring 67 000 röster, men då räkningen fortfarande pågår och röster ifrågasätts av båda sidor spår Onpe att det slutgiltiga resultatet kommer att dröja. Kanske så länge som tio till tolv dagar.
Många utlandsröster
Precis som vid tidigare presidentval i Peru drar rösträkningen ut på tiden. Det beror delvis på att valsedlar ska fraktas från avlägsna landsbygdsområden till huvudstaden Lima liksom från utlandet. En miljon av landets röstberättigade bor utomlands.
Fujimori har tagit de flesta av de räknade utlandsrösterna, men Castillo är mycket populär bland väljare på landsbygden. Och det kommer att bli svårt för Fujimori att komma ikapp, menar analytikern Hugo Otero.
– Eftersom det antagligen finns fler röster kvar att räkna i Peru än utomlands, säger han.
Sent på onsdagskvällen lokal tid samlades Castillos anhängare utanför Onpes valkontor i centrala Lima, medan en manifestation för Fujimori genomfördes i en park i staden. Fujimorianhängarna påstår att det har förekommit valfusk.