I read Dona Flor before I saw the film. It is both my favorite Brazilian novel and my favorite Brazilian film.
Others have written about the plot and the story, but here I want to attest to the film's spot-on reflection of the culture of the time & place the story occurs.
I lived in a small town in Brazil in the late 1960s. The small town where I lived had a similar ambiance to 1940s' Salvador where this film is set, including the costumes, hairstyles, and makeup. Men often dressed in drag during Carnaval. The mourning scenes were typical of the time. The actions of the characters also seem appropriate to the time and place. Most Brazilians were Roman Catholic but many also believed in orixas, minor gods from African religions brought to Brazil by slaves and the supernatural happenings practitioners believed were caused by them. I once stayed in a small inn that was so similar to the one where Flor & Teodoro honeymooned, that it could have been the exact room i stayed in.
Some details are subtle and those unfamiliar with Brazil wouldn't catch them. For example, if I stopped by someone's home --no matter how long I stayed --when I chose to leave, my host would protest with, "It's early." In the film, I laughed out loud when I heard that exact line in the film.
Also the movie follows the Jorge Amado novel well. Amado's books are wordy (but beautifully so) so are much longer & would cover far too many hours for a film, so, of course, some scenes and details are missing.
Most of Amado's protagonists are women. Many of his characters are from the seedy side of life. And many of his books contain recipes. Dona Flor includes all of these typical Amado characteristics. I had read most of his books in English (the original Portuguese uses so many regional colloquialisms and slang that even native Brazilians have a hard time understanding some of them.)
The film isn't perfect, but for me who grew to love the country, the culture, and especially Brazilians, it was a joy to watch.
_____
Warning, there are some explicit sex scenes, if that bothers you.