The coronavirus disease 2019 (COVID-19) had a profound impact worldwide. In Bangladesh, the official number of deaths for COVID-19 was around 29 000. However, many countries including Bangladesh experienced substantial underreporting of COVID-19 deaths due to lack of complete national civil registration system. This study aims to estimate excess mortality in 2020, identify risk factors, and determine leading causes of death in Bangladesh. In February 2021, we conducted a cross-sectional household survey in Sitakunda, a subdistrict of Chattogram, identifying deaths from January 2018 to December 2020. Excess mortality was quantified using the p-score and incidence rate ratio (IRR) utilising Poisson segmented regression. We employed the InterVA-5 algorithm to attribute causes of death. Proportional distribution and cause-specific mortality rates (CSMR) per 100 000 individuals were compared between pre-pandemic and pandemic periods. Among 1748 deaths from 25 669 households, we found 1.4 (95% confidence interval (CI) = 1.2-1.4) times excess mortality in 2020 compared to 2018-2019. Leading causes of death in 2020 included cardiac disease (CSMR = 121.0, CI = 115.8-127.3), stroke (CSMR = 108.0, CI = 102.6-114.0), and acute respiratory infection (CSMR = 61.0, CI = 55.1-66.5), all displaying significantly higher mortality rates than in previous years. Older age (IRR = 1.6), less education (IRR = 1.8), and lower socio-economic groups (IRR = 2.1) had higher mortality rates in 2020 compared to pre-pandemic years. Our study suggests high rural excess mortality during COVID-19 including cardiac disease, stroke and acute respiratory infection as the leading causes of deaths. We require targeted strategies to identify high-risk patients with comorbidity and social vulnerabilities that contribute to mortality to guide the preparedness strategy for future pandemics.