Resultatet väntas inom några timmar. Några vallokaler håller fortfarande öppet på grund av långa köer.
Om någon av kandidaterna får mer än 50 procents stöd förklaras denne som segrare. Men når ingen av kandidaterna 50 procent blir det en andra valomgång om fyra veckor.
Lula, som ledde Brasilien under 2000-talet, ligger bäst till i opinionsmätningarna. Den 76-årige Lula röstade i São Paulo, där han har starkt stöd.
"Inget mer hat"
Expresidenten förklarade när han skulle rösta att han vill ha "ett land i fred" efter fyra år under Bolsonaro. Sedan kysste han sin valsedel.
– Vi vill inte ha mer hat, mer oenighet, sade Lula.
Det fanns ytterligare nio kandidater på röstsedlarna, men alla opinionssiffror har pekat på att det står mellan presidenten och vänsterledaren da Silva. Den senaste, som publicerades i lördags, pekade på att 50 procent av väljarna skulle välja da Silva medan Bolsonaro fick 36 procent av rösterna.
President Bolsonaro avlade sin röst i Rio de Janeiro. Valdagen till ära vara han klädd i en t-tröja med den brasilianska flaggan och dess gulgröna färger.
"Rent val"
Det har uttryckts oro och spekulerats i att Bolsonaro, om han förlorar, kommer hämta inspiration från sin vän och tidigare kollega USA:s expresident Donald Trump som inte accepterade sin förlust i det amerikanska presidentvalet.
Efter att Bolsonaro röstat på söndagen fick han frågan från journalister om han kommer att respektera valresultatet, och gjorde då ett tummen upp-tecken. Men presidenten sade samtidigt att han kommer att acceptera resultatet om det är ett "rent val".