Uruguayan striker Sebastian ''El Loco'' Abreu missed a penalty in the shootout and former Liverpool goalkeeper Diego Cavalieri made two saves as Fluminense defeated Botafogo 4-3 on penalties to reach the final of the Guanabara Cup.
Fluminense will play for the title of the first stage of the Rio de Janeiro state championship against Vasco da Gama, which on Wednesday came from behind to defeat Flamengo 2-1.
In the Sao Paulo state championship, Palmeiras drew Oeste 1-1 at home and relinquished the lead to Corinthians, which beat Portuguesa 2-0 on Wednesday.
The match in Rio went to a shootout after the teams drew 1-1 at the Engenhao stadium.
Abreu missed the final penalty as Cavalieri dived to his right to stop the Uruguayan's low shot.
A reserve at Liverpool before returning to Brazil last year to play for Fluminense, Cavalieri had already saved Lucas' shot from the spot.
''We kept our calm and that allowed us to equalize at the end to send the match into the shootout,'' Cavalieri said. ''I was happy to make the saves that allowed us to reach the final.''
Jean missed Fluminense's only penalty. His shot was saved by Botafogo goalkeeper Jefferson.
Midfielder Elkeson had put Botafogo ahead in the 30th minute after a cross by Argentine striker German Herrera, and defender Leandro Euzebio equalized for Fluminense in the 80th from inside the area after a badly executed offside trap.
The Guanabara Cup winner will play for the Rio state title against the Rio Cup champion later in the tournament.
On Wednesday, Vasco da Gama beat Ronaldinho's Flamengo at the Engenhao, ending an eight match winless streak against the rival that dated back to nearly three years. It was Vasco's eighth straight win to start the year. The team won the Brazilian Cup and was runner-up to Corinthians in the Brazilian league last season.
Vagner Love put Flamengo ahead just three minutes into the match, dribbling past a defender and firing a powerful shot from outside the area.
Vasco equalized through striker Alecsandro in the 15th after Flamengo goalkeeper Felipe failed to hold on to a free kick taken by former Brazil midfielder Juninho.
Playmaker Diego Souza scored Vasco's winner with a header in the 78th.
Flamengo striker Deivid incredibly missed a simple opportunity in the 36th, when the match was level. He received a low cross inside the six-yard box, with nobody near him and only the net in front. The cross came slowly to his feet but he mis-hit the ball from less than 3 yards away and it ended striking the post.
In the Sao Paulo tournament, Luiz Felipe Scolari's Palmeiras played poorly in front of its fans and was held 1-1 by minnow Oeste. The result kept the team unbeaten after nine matches, but it dropped to third in the 20-team standings, one point behind Guarani and two behind Corinthians.
On Wednesday, Corinthians defeated Portuguesa 2-0 with a goal by Peruvian midfielder Luis Ramirez. Sao Paulo drew Bragantino 3-3 in Braganca Paulista, while defending champion Santos beat Comercial 2-0 with a great performance by Brazil striker Neymar.
The Brazilian football season begins with regional championships in the 26 states in the first few months, with the nationwide league running from May until December.